2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72
|
|
1 | |
Как осуществить сортировку вставками в списках?21.10.2010, 00:41. Показов 1209. Ответов 19
Метки нет (Все метки)
Необходимо отсортировать список по алфавиту, помогите пожалуйста.
Добавлено через 1 час 23 минуты методом: из списка в массив и обратно меня чето не прикалоло сортировать
0
|
21.10.2010, 00:41 | |
Ответы с готовыми решениями:
19
Сортировку вставками меняем на Пирамидальную сортировку и на Сортировку подсчётом Как реализовать сортировку вставками? Сортировку вставками меняем на сортировку слиянием Реализовать сортировку вставками |
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
||||||
21.10.2010, 02:39 | 2 | |||||
вставками - не вставками, но список сортируется...
2
|
2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72
|
|
21.10.2010, 15:16 [ТС] | 3 |
спасибо, буду разбираться
Добавлено через 2 часа 14 минут чет я не подумал просто поля с фамилиями заменять.. кстати, почему в вашей проге работает ввод/вывод на русском языке ?
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
21.10.2010, 15:29 | 4 |
вообще-то, если структура содержит статические массивы (типа char name[BUFSIZ]) лучше создавать двусвязный список и менять указатели на элементы, а не содержимое массивов. У меня в структуре находится указатель на строку, поэтому проще так, как сделал...
а не должен бы?
0
|
2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72
|
|
21.10.2010, 15:56 [ТС] | 5 |
там ведь не стоит никаких setlocale, SetConsoleCP(1251), SetConsoleOutputCP(1251)О_о
0
|
98 / 94 / 16
Регистрация: 16.05.2010
Сообщений: 310
|
||||||
21.10.2010, 16:03 | 6 | |||||
Вот мне просто интересно, а вот так не катит?
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
21.10.2010, 16:11 | 7 |
IchMors, нужно не буквы в слове сортировать, а слова в списке.
0
|
IchMors
|
21.10.2010, 16:12
#8
|
Не по теме: аааа, ферштейн...
0
|
2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72
|
||||||
21.10.2010, 16:14 [ТС] | 9 | |||||
IchMors, я так понял эта функция для базовых классов данных, не для списков структур, тем она и не подходит, что ей не отсортируешь по фамилиям.
easybudda, ваш способ наверно все таки будет не очень крутым для сортировки таких структур
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
||||||
21.10.2010, 17:04 | 10 | |||||
а это смотря, как делать...
Всё ещё работает с русскими буквами
2
|
98 / 94 / 16
Регистрация: 16.05.2010
Сообщений: 310
|
||||||
21.10.2010, 17:06 | 11 | |||||
Опять таки может я ошибаюсь, но:
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
21.10.2010, 17:22 | 12 |
оно же массив, а не список! при таком подходе
нафиг не нужно да и цель всей этой свистопляски, скорее всего - научиться руками списки делать...
0
|
98 / 94 / 16
Регистрация: 16.05.2010
Сообщений: 310
|
|
21.10.2010, 18:04 | 13 |
0
|
2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72
|
||||||
22.10.2010, 11:38 [ТС] | 14 | |||||
вобщем, попробовал перелопатить на свой лад, вот что получилось :
Добавлено через 16 часов 16 минут Помогите пожалуйста!
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
22.10.2010, 13:26 | 15 |
А чем моя-то програмка не устроила? Работает же... При чём сортировку должна делать достаточно быстро за счёт того, что меняются только значения указателей, а данные не перемещаются...
0
|
2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72
|
|
29.10.2010, 19:43 [ТС] | 16 |
у меня несколько тут вопрос созрел easybudda, почему вы организовываете списки через дополнительные структуры, почему не сделать внутри одной структуры указатель на следующий элемент и все ?
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
29.10.2010, 22:38 | 17 |
Да можно по-разному сделать, но мне такой подход больше нравится - каждая програмная единица должна свою задачу решать. По сути есть класс данных, класс - элемент списка и класс - список. Тот факт, что язык С не поддерживает классы, в принципе не значит, что основные идеи ООП в программах на С нельзя использовать. В конечном счёте так просто удобнее.
0
|
2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72
|
||||||
29.10.2010, 23:52 [ТС] | 18 | |||||
помогите разобраться еще с такой проблемой: когда в конце программы использую del_list, первый вызов происходит гладко, все зачищает, а вот когда второй список удалять, получается что указатели уже стерты и выдает ошибку, как можно справиться с этим?
0
|
Модератор
12454 / 7479 / 1752
Регистрация: 25.07.2009
Сообщений: 13,755
|
|
30.10.2010, 00:08 | 19 |
KBAC, вот по этому так здорово делить задачу на более мелкие...
Во-первых, если я правильно понял, возвращает указатель на элемент из списка, начинающегося с head? Тогда зачем пытаться уничтожить часть списка, начинающуюся с найденного элемента? Мало того, сам список к этому времени уже удалён предыдущей командой. Даже если и надо было бы удалять то, указатель на что возвращает search (допустим, она бы возвращала указатель на новый список, скопированный с переданного параметром начиная с найденного элемента), когда ничего не найдено, функция NULL возвращает, а Вы его всё равно в del_list отправить пытаетесь... Добавлено через 2 минуты Присмотрелся внимательнее - там действительно смута какая-то... чи вернётся указатель, чи ни - как повезёт, короче... И таки там действительно что-то с чего-то зачем-то копируется
0
|
2 / 2 / 1
Регистрация: 10.05.2010
Сообщений: 72
|
||||||
30.10.2010, 00:27 [ТС] | 20 | |||||
а про то что я пытаюсь нуль засунуть в удаление, там же ничего страшного не случается, просто функцию лишний раз вызову. в этом я больше проигрываю чем проверять условие ? ну т.е. если равно нулю то сразу выходить если нет - вызывать .
0
|
30.10.2010, 00:27 | |
30.10.2010, 00:27 | |
Помогаю со студенческими работами здесь
20
Реализовать сортировку вставками Нужно применить сортировку вставками, к этому коду Отсортировать элементы массива в алфавитном порядке используя сортировку вставками Безразмерный файл забить структурами и осуществить их сортировку Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |