Алексей Емельянов
Алексей Емельянов

Сортировка односвязного списка

void SortByPhone(){
bool run=true;
Student* cur;
Student* pre;
while (run==true){
cur=pFirstStudent;
pre=NULL;
run=false;
while (cur->pNextStudent!=NULL){
if ( (cur->phonenumber) > (cur->pNextStudent->phonenumber) ){
if (pre==NULL){
pFirstStudent=cur->pNextStudent;
cur->pNextStudent=cur->pNextStudent->pNextStudent;
pFirstStudent->pNextStudent=cur;
cout<<"First Change"<pNextStudent=cur->pNextStudent;
cur->pNextStudent=cur->pNextStudent->pNextStudent;
pre->pNextStudent=cur;
run=true;

cout<<"Non First Change"<pNextStudent;
}

}
}
}

Почему не работает? Список без заглавного звена, тупо висит; тестовые выводы тоже не выводятся

Pavel Yurevich
Pavel Yurevich

Посмотрите как в двунаправленном, должно помочь.. .http://pastebin.com/eVYTS7QK

Похожие вопросы
Сортировка елементов класса С++
Как реализовать односвязный список в ANSI C ???
Алгоритм сортировки С++
Привет! Как выглядит быстрая сортировка (Хоара) для однонаправленного списка?
вопрос по односвязным спискам в си
Пирамидальная сортировка
Как происходит сортировка слов, методом сортировки Хоара?
Сортировка Массива
объединение и пересечение списков (динамический односвязный список) что значит "объединение и пересечение "?
как стереть каждый третий мембер в односвязном списке на си?