Сортировка односвязного линейного списка по возрастанию
Дата публикации: 21.05.2025

Сортировка односвязного линейного списка по возрастанию

4505d547

Содержимое статьи:

Для сортировки односвязного линейного списка по возрастанию, не заменяя информационные части, а меняя связи местами, можно использовать два указателя.

Алгоритм

  1. Заведите два указателя: curr и next.
  2. Присвойте curr начальный элемент списка.
  3. Пока curr не равен NULL:
    • Если curr->data больше next->data:
    • Поменяйте связи узлов curr и next.
    • Передвиньте указатели curr и next на один шаг вперед.

      Реализация на C

      #include <stdlib.h>
      typedef struct Node {
      int data;
      struct Node *next;
      } Node;
      void sortList(Node **head) {
      Node *curr = *head, *next;
      while (curr != NULL) {
      next = curr->next;
      while (next != NULL) {
      if (curr->data > next->data) {
      // Поменяйте связи узлов
      Node *temp = next->next;
      next->next = curr;
      curr->next = temp;
      // Обновите положение указателей
      *head = next;
      curr = next;
      }
      next = next->next;
      }
      curr = curr->next;
      }
      }

      Пример

      Допустим, у нас есть список: 10 -> 5 -> 15 -> 2 -> 20. После сортировки список будет выглядеть так: 2 -> 5 -> 10 -> 15 -> 20.



Чат рулетка 2026: случайные чаты с реальными людьми
Чат с Аней: семейный разговор
Генератор паролей с нижним регистром
Информационная Безопасность Бизнеса: Комплексное Решение от Гладиаторов Информационной Безопасности
Инновации в использовании 3D печати для строительства коммерческих офисных зданий
Инновации в использовании бетона с низким удельным весом для устойчивого строительства
Женские аксессуары
Казань окна VEKA - профессионализм и опыт
Новостройки Оренбурга: современные дома и предложения
Онлайн чат-партнерство
Онлайн рулетка видеочат
Пиломатериалы для террасы
Подбор шин: Что учитывать при выборе для погрузчика
Секреты Вконтакте: как управлять приватностью
Скидка 45% на отдых в Южной Корее
Стоит ли выбирать Vdsina вечный хостинг?
Удобная админ система для эффективного управления сайтом
Вода доставка
Наши ссылки