![]() 33 / 33 / 1
Регистрация: 13.01.2011
Сообщений: 193
|
||||||
Сортировка односвязного списка28.06.2011, 03:37. Показов 16560. Ответов 4
Метки нет Все метки)
(
Всем доброго времени суток!
Пишу курсавик по программированию, всё написал, осталась только одна функция уже голову всю сломал, никак не придумаю как же её реализовать ![]() ![]() ![]() Нужно всего лишь отсортировать односвязный список:
![]() 1) По фамилии и имени(можно просто по фамилии) в алфавитном порядке. 2) По дате рождения. Записей около 45...
1
|
28.06.2011, 03:37 | |
Ответы с готовыми решениями:
4
Сортировка динамического односвязного списка Сортировка односвязного списка (пузырьком) |
![]() |
||||||
28.06.2011, 07:32 | ||||||
Вот написал, смотри сортировка по - алфавиту и по-дате от меньшего к большему, по-возрастанию.:cofee:
2
|
![]() 33 / 33 / 1
Регистрация: 13.01.2011
Сообщений: 193
|
||
28.06.2011, 14:37 [ТС] | ||
![]() Вы пошли немного другим путём. Я пытался работать с указателями, т.е. не копировать данные а поменять их местами. В результате, менять то она меняла, но при переходе к следующему элементу, они вставали обратно на свои места... ![]() Ради спортивного интереса, если есть время, можите черкнуть как это будет выглядить, используя перестановку. ![]() Ещё раз огромное спасибо! ![]()
0
|
![]() |
||||||
29.06.2011, 05:53 | ||||||
вот дополнение к твоему коду.
Небольшой пример на указатели. char* A; char* B; char* T; A = (char*) malloc(4); B = (char*) malloc(4); strcpy(A, "AAA"); strcpy(B, "BBB"); T = B; сохранить адрес указателя - B B = A; адрес указателя B - затёрся адресом указателя - A puts(T); puts(B); в указателе B - адрес остался, но по этому указателю в куче не будет данных после освобождения их, ниже освобождаем. free(A); A = NULL; // free(B); при вызове удалить действия не даст так как адрес указывает // на указатель - A данные были удалены free(T); // вот теперь удалить данные по - указателю - B T = NULL; Все эти действия показывают как не делать утечки памяти. Указатели не хранять сами данные, а только адрес для 32-разрядных он 4-байтный двойное слово(dword) Причина утечек памяти происходит из-за затирания(переименовывания) указателя и конечно из-за лени удалить память free/delete. для безопасного использования создали const const *int - говорит что адрес может меняться данные нет int *const - вот так данные могут менятся а адрес нет, итерацией здесь уже не воспользуешься GC - сборщик мусора в .NET, JAVA2 сохраняет адреса на кучу все указатели потом по-ним удаляет занимаемые данные в куче. Ладно пойду спать. ![]()
2
|
![]() 33 / 33 / 1
Регистрация: 13.01.2011
Сообщений: 193
|
|
29.06.2011, 22:21 [ТС] | |
Ясно, спосибо огромное! Всё понятно, со всем разобрался.
![]() Хоть и запоздалое, но всё же: "спокойной ночи.". ![]()
0
|
29.06.2011, 22:21 | |
Помогаю со студенческими работами здесь
5
Удаление узла из односвязного списка. + Сортировка Не работает сортировка односвязного списка с считыванием из файла и выводом в файл Создание односвязного списка Реализация односвязного списка Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Обнаружение объектов в реальном времени на Python с YOLO и OpenCV
AI_Generated 29.04.2025
Компьютерное зрение — одна из самых динамично развивающихся областей искусственного интеллекта. В нашем мире, где визуальная информация стала доминирующим способом коммуникации, способность машин. . .
|
Эффективные парсеры и токенизаторы строк на C#
UnmanagedCoder 29.04.2025
Обработка текстовых данных — частая задача в программировании, с которой сталкивается почти каждый разработчик. Парсеры и токенизаторы составляют основу множества современных приложений: от. . .
|
C++ в XXI веке - Эволюция языка и взгляд Бьярне Страуструпа
bytestream 29.04.2025
C++ существует уже более 45 лет с момента его первоначальной концепции. Как и было задумано, он эволюционировал, отвечая на новые вызовы, но многие разработчики продолжают использовать C++ так, будто. . .
|
Слабые указатели в Go: управление памятью и предотвращение утечек ресурсов
golander 29.04.2025
Управление памятью — один из краеугольных камней разработки высоконагруженных приложений. Го (Go) занимает уникальную нишу в этом вопросе, предоставляя разработчикам автоматическое управление памятью. . .
|
Разработка кастомных расширений для компилятора C++
NullReferenced 29.04.2025
Создание кастомных расширений для компиляторов C++ — инструмент оптимизации кода, внедрения новых языковых функций и автоматизации задач. Многие разработчики недооценивают гибкость современных. . .
|
Гайд по обработке исключений в C#
stackOverflow 29.04.2025
Разработка надёжного программного обеспечения невозможна без грамотной обработки исключительных ситуаций. Любая программа, независимо от её размера и сложности, может столкнуться с непредвиденными. . .
|
Создаем RESTful API с Laravel
Jason-Webb 28.04.2025
REST (Representational State Transfer) — это архитектурный стиль, который определяет набор принципов для создания веб-сервисов. Этот подход к построению API стал стандартом де-факто в современной. . .
|
Дженерики в C# - продвинутые техники
stackOverflow 28.04.2025
История дженериков началась с простой идеи — создать механизм для разработки типобезопасного кода без потери производительности. До их появления программисты использовали неуклюжие преобразования. . .
|
Тестирование в Python: PyTest, Mock и лучшие практики TDD
py-thonny 28.04.2025
Тестирование кода играет весомую роль в жизненном цикле разработки программного обеспечения. Для разработчиков Python существует богатый выбор инструментов, позволяющих создавать надёжные и. . .
|
Работа с PDF в Java с iText
Javaican 28.04.2025
Среди всех форматов PDF (Portable Document Format) заслуженно занимает особое место. Этот формат, созданный компанией Adobe, превратился в универсальный стандарт для обмена документами, не зависящий. . .
|