Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Односвязный список
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, создал список, заполнил его и вывожу его, но нужно упорядочить список (поле фамилия), по алфавиту, не могу никак сообразить, помогите пожалуйста. struct List { int key; char *Name; char *Surname; char *Lastname; char *org; List *next; }; List *first(int key, char Name[], char Surname[], char Lastname[], char org[]); void add(List **pend, int key, char Name[], char Surname[], char Lastname[], char org[]); int main() { setlocale(LC_ALL, "Russian"); List *pbeg=first(1, "Иван", "Иванович", "Иванов", "Профсоюз"); List *pend=pbeg; add(&pend, 2, "Пётр", "Петрович", "Петров", "Профсоюз"); add(&pend, 3, "Владимир", "Николаевич", "Федяев", "Учёный совет"); add(&pend, 4, "Александр", "Николаевич", "Кротиков", "Общество книголюбов"); add(&pend, 5, "Сергей", "Константинович", "Юдин", "Федерация Пентикса"); List *pv = pbeg; //количество элементов в списке List *pcount = pbeg; int count_el=0; while(pcount) { pcount=pcount->next; count_el=count_el+1; } cout<<"Количество элементов в списке: "<<count_el; cout<<endl;cout<<endl; //вывод списка while(pv) { cout<<pv->key<<' '; cout<<pv->Name<<' '; cout<<pv->Surname<<' '; cout<<pv->Lastname<<' '; cout<<pv->org<<' '; pv=pv->next; cout<<endl; } cout<<endl; cout<<endl; system("pause"); return 0; } //------------------------------------------------------------------------------------ List *first(int key, char Name[], char Surname[], char Lastname[], char org[]) { List *pv = new List; pv->key=key; pv->Name=Name; pv->Surname=Surname; pv->Lastname=Lastname; pv->org=org; pv->next=0; return pv; } //----------------------------------------------------------------------------------- void add(List **pend, int key, char Name[], char Surname[], char Lastname[], char org[]) { List *pv = new List; pv->key=key; pv->Name=Name; pv->Surname=Surname; pv->Lastname=Lastname; pv->org=org; pv->next=0; (*pend)->next=pv; *pend=pv; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 09:07 |
|
||
|
Односвязный список
|
|||
|---|---|---|---|
|
#18+
asupvikingне могу никак сообразить Переделай функцию add. Добавляй не в начало списка, а перед элементом у которого Name (или какой там критерий сортировки) больше чем Name нового элемента. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 12:18 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38395842&tid=2019982]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 282ms |
| total: | 395ms |

| 0 / 0 |
