|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.03.2014, 20:22 | #1 |
Регистрация: 02.03.2014
Сообщений: 4
|
c++ сортировка по алфавиту
Добрый день, помогите, пожалуйста, надо вывеси фамилии в алфавитном порядке, имеется односвязный списко
Вот код: (там пометил где цикл сравнения, но выдает не в том порядке) #include "stdafx.h" #include <iostream> #include "conio.h" #include "stdio.h" #include <string> #include <cstring> #define n 5 using namespace std; struct person { string fam; person *next, *prev; }; void main() { string swap; int i = 0, j = 0; setlocale(0,"russian"); person *first, *last, *p, *q; first = new person; first -> prev = NULL; first -> next = NULL; puts("Введите фамилии участников:"); cin >> first -> fam; p = first; for (i = 1; i < n; i++) { q = new person; cin >> q -> fam; q -> next = NULL; q -> prev = p; p -> next = q; p = q; } q = first; cout << endl; puts("Исходный список:"); while (q!=NULL) { cout << q -> fam << endl; q = q -> next; } cout << endl; puts("Сортированный по алфавиту:"); q = first; p = q -> next; for (i = 0; i < n-1; i++) { // ВОТ здесь я начинаю сортировку, но выдает он в неправильном порядке for (j = i ; j < n; j++) { if (q -> fam > p -> fam) { swap = q -> fam; q -> fam = p -> fam; p -> fam = swap; } p = q -> next; } q = p; } q = first; cout << endl; while (q!=NULL) { cout << q -> fam << endl; q = q -> next; } getch(); } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка по алфавиту | nick999 | Общие вопросы C/C++ | 0 | 23.03.2014 20:09 |
Сортировка по алфавиту | Kingl | C++ Builder | 3 | 18.12.2013 13:47 |
Сортировка по алфавиту. | asmars | Общие вопросы C/C++ | 3 | 17.04.2012 00:42 |
Сортировка по алфавиту | NuR1k | БД в Delphi | 5 | 21.08.2010 19:14 |