[Ответить в тред] Ответить в тред

Тред закрыт.


03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 6 | 3 | 5
Назад Вниз Каталог Обновить

Сап, погромисты. Возникла Ошибка при сортировке односвязного списка методом пузырька 31/05/16 Втр 20:24:41  758756   Обсуждение закрыто  
14647154819650.jpg (29Кб, 480x360)
Сап, погромисты. Возникла проблема. Нужно отсортировать элементы структуры односвязного списка.

Воспользовался методом пузырька (код ниже). Но проблема в том, что я - рукожоп при сортировке, меняются местами данные одного информационного поля, а остальная информация элемента сохраняет свою позицию.


Пример:

Имя / Возраст
-------------------------
Саша / 15
Ваня / 14


В данном случае, если перенести 14 наверх, а 15 - вниз, получится:


Имя / Возраст
-------------------------
Саша / 14
Ваня / 15

Cтруктура:

struct Squad {
int Number, Age;
string Name, Position, Country;
double Transfer;
Squad next; //указатель на следующий элемент в списке
};


Функция сортировка пузырьком (сортировка по переменной Number):

void Sort(Squad
Head) { // пузырьковая сортировка

Squad head = Head;
Squad
Element1, * Element2;
int buf;

for( Element1 = head; Element1; Element1 = Element1->next )
for( Element2 = head; Element2; Element2 = Element2->next )
if( Element1->Number < Element2->Number ) {

buf = Element1->Number. ;
Element1->Number = Element2->Number;
Element2->Number = buf;

}

}


Как преобразовать функцию, чтобы после свапе одних ячеек, автоматически свапались другие?
Ошибка при сортировке односвязного списка методом пузырька 31/05/16 Втр 20:29:37  758766
Двач косо принял код.

Залил на пастбин:
http://pastebin.com/ucrQdx2P

Хелпуйте, аноны
Аноним 31/05/16 Втр 20:32:26  758773
Зачем велосипеды, если есть STL ?
Аноним 31/05/16 Втр 20:47:22  758792
14647168428460.png (60Кб, 875x880)
>>758766
> C++
Аноним 31/05/16 Втр 20:51:53  758796
>>758792
поржал с пикчи
поржал со своей жизни
Ошибка при сортировке односвязного списка методом пузырька 31/05/16 Втр 20:53:24  758797
14647172046510.jpg (141Кб, 759x632)
Бамп, курсовая горит
Аноним 31/05/16 Втр 21:01:53  758800
>>758756 (OP)
код писать не буду но алгоритм скажу , ты делает тмп переменную только для возраста , а ты сравнивай возраст а заменяй целый элемент с типам данный своей структуры

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 6 | 3 | 5
Назад Вверх Каталог Обновить

Топ тредов