Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vovchikМИМО
0 / 0 / 0
Регистрация: 20.12.2010
Сообщений: 5
#1

Код программы есть. готовый. рабочий. Откомментировать как можно полнее код программы. и ход выполнения её же. - C++

25.12.2010, 13:12. Просмотров 839. Ответов 0
Метки нет (Все метки)

условие задачи: Создать односвязный список из случайных целых чисел. Вывести его. Выполнить сортировку методом простого выбора(использовав не более чем несколько вспомогательных переменных). Вывести результат. все.
Если не затруднит Вас , то можно поподробнее комментарий, пожалуйста.
Спасибо..

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

struct Node
{
int v;
Node *next;
};


Node *insert(int v, Node *list) {
Node *p;
Node *q;
p =new Node;
p->v = v;

if(list == NULL) {
p->next = list;
return p;
} else {
q = list;
while(q->next != NULL) {
q = q->next;
}
p->next = q->next;
q->next = p;
return list;
}
}

void print_list(Node *list) {
Node *p;
for(p = list; p != NULL; p = p->next)
printf("%d ", p->v);
printf("\n") ;
}
void llist_selection_sort(Node *&head) {
Node *a = NULL;
Node *b = NULL;
Node *c = NULL;
Node *d = NULL;
Node *tmp = NULL;

a = c = head;
while(a->next != NULL) {
d = b = a->next;
while(b != NULL) {
if(a->v > b->v) {
/* neighboring linked list node */
if(a->next == b) {
if(a == head) {
a->next = b->next;
b->next = a;
tmp = a;
a = b;
b = tmp;
head = a;
c = a;
d = b;
b = b->next;
} else {
a->next = b->next;
b->next = a;
c->next = b;
tmp = a;
a = b;
b = tmp;
d = b;
b = b->next;
}
} else {
if(a == head) {
tmp = b->next;
b->next = a->next;
a->next = tmp;
d->next = a;
tmp = a;
a = b;
b = tmp;
d = b;
b = b->next;
head = a;
} else {
tmp = b->next;
b->next = a->next;
a->next = tmp;
c->next = b;
d->next = a;
tmp = a;
a = b;
b = tmp;
d = b;
b = b->next;
}
}
} else {
d = b;
b = b->next;
}
}
c = a;
a = a->next;
}
}

int main()
{
Node *list1 = NULL;
srand ( time(NULL) );
for(int i =0; i < 15 ; i++,list1 =insert(rand()/1000,list1));// заполнение списка
print_list(list1);
llist_selection_sort(list1);
print_list(list1);
getchar();
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2010, 13:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Код программы есть. готовый. рабочий. Откомментировать как можно полнее код программы. и ход выполнения её же. (C++):

Нужно откомментировать код программы - C++
Здравствуйте! Помогите пожалуйста откомментировать код уже написанной программы. Кое-что я уже откомментировал, что знаю, а остальное...

Можно ли во время выполнения программы выполнить дополнительный код? - C++
Доброго времени суток кибер люди :) Нужна ваша помощь в плане разъяснения следующих вопросов: 1. Собрал я программу на С++, запустил....

Как соединить фрагменты программы в рабочий код? - C++
C++ не изучаю, но задание надо выполнить. Есть фрагменты кода, но мозгов их соединить воедино не хватает. Фрагмент 1 HANDLE...

Объясните пожалуйста код и ход работы программы на С++ - C++
Вот код фрагмента программы: int i; int l=strlen(str); int k=strlen(fsubstr); bool fl=true; for...

Есть код программы на вычисление количества слов, как изменить условие? - C++
Есть код программы, как изменить условие, чтобы вычисляло только количество слов, которые заканчиваются на букву а? #include &lt;iostream&gt; ...

Добавить код во время выполнения программы - C++
Возможно ли к программе подключать некоторые модули с кодом(заранее не откомпилированные) по мере её выполнения? Если да, то как?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2010, 13:12
Привет! Вот еще темы с ответами:

Есть готовый код C++ (Code Composer Studio). Копирование матрицы. Как исправить ошибки? - C++
т.е. это часть проекта для ЦСП на языке С, но файл исполняемой программы .out не создается из за ошибок в коде :( В С никогда не работал,...

Как сделать в коде программы, чтобы можно было вводить числа самому, а не случайно. (Код прилагается) - C++
Доброго времени суток. Хочу узнать, как можно сделать вместо случайного ввода чисел заданый ввод. Нужно ввести вектор А, вместо его...

Есть небольшой код программы, надо отсортировать по модулям - C++
Я программировал только на Делфи(пару лет назад). Есть небольшой код программы на C++(небольшой учет товаров), не знаю как сделать из нее...

Есть готовый код, с вводом данных что-то - C++
Есть готовый код,программа запускается и почти работает.То есть дает возможность ввести данные о первой кафедре, после нажатия Энтер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru