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

класс Списки. Сортировка по ФИО - C++

Восстановить пароль Регистрация
 
Zapt1k
1 / 1 / 0
Регистрация: 08.05.2013
Сообщений: 25
24.11.2013, 17:29     класс Списки. Сортировка по ФИО #1
Я не могу понять, почему моя функция упорядочивает в алфавитном порядке только первые 2 строки данных. Помогите пожалуйста поправить функцию.
Сама функция сортировки:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
void list::sortFio()
{node1 *p0,*p1,*p2;
int fl;
if (beg1==NULL || beg1->next==NULL) return;
do  {fl=0; p1=beg1; p2=beg1->next;
    if (sravnFio()>0)
        {p1->next=p2->next;
        p2->next=p1;
        beg1=p2;
        fl=1;
        }
    for (p0=beg1;p0->next->next!=NULL;p0=p0->next)
        {p1=p0->next;
        p2=p1->next;
        if(sravnFio()>0)
            {p1->next=p2->next;
            p2->next=p1;
            p0->next=p2;
            fl=1;
            }
        }
        }while (fl==1);
cout<<"Dannie uporyadocheni v alfavitnom poryadke.";
getch();
}
Вспомогательная функция сравнения ФИО:
C++
1
2
3
4
5
6
7
8
9
int list::sravnFio ()
{node1 *p;
p=beg1;
if (strcmp(p->d.dannie.fam,p->next->d.dannie.fam)>0) return 1;
if (strcmp(p->d.dannie.fam,p->next->d.dannie.fam)<0) return (-1);
if (strcmp(p->d.dannie.iniz,p->next->d.dannie.iniz)>0) return 1;
if (strcmp(p->d.dannie.iniz,p->next->d.dannie.iniz)<0) return (-1);
return 0;
}
Добавлено через 44 минуты
если нужны тексты структур и тд, все кину

Добавлено через 1 час 26 минут
up нужен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2013, 17:29     класс Списки. Сортировка по ФИО
Посмотрите здесь:

Сортировка по структуры по полю ФИО C++
C++ Сортировка массива указателей на абстрактный базовый класс
C++ Класс работник. Сортировка. Советы по коду
Класс работник, сортировка C++
Отсортировать ФИО по алфавиту C++
Создать класс "ведомость абитуриентов" (ФИО, адрес, оценки по трем предметам) C++
Класс ORDER. Сортировка по расчетным счетам плательщиков выполнена неверно C++
Класс "Матрицы: сортировка и другие преобразования" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 23:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru