Алгоритм сортировки: [выделение добавлено]
В компьютерной науке алгоритм сортировки - это алгоритм, который помещает элементов списка в определенном порядке.
Элементом связанного списка является узел , который состоит из data и reference (ссылка) на следующий узел в списке.
При сортировке связанного списка вы только перемещаете / размещаете часть data элемента связанного списка в правильное положение, но ссылочная часть по-прежнему является ссылкой к тому же следующему узлу. Когда вы распечатываете список после сортировки, вы получите выходные данные в отсортированном порядке, но на самом деле вы переместили только часть data , а не все элементы списка, что, я считаю, не является подходящим способом сортировка связанного списка.
Рассмотрим пример:
Дважды связанный список с ele
в качестве члена класса, который содержит данные типа int
, а previous
и next
являются членами, которые сохранить предыдущую и следующую ссылку на узел. Класс Node
будет выглядеть примерно так:
class Node{
int ele;
Node previous;
Node next;
....
....
}
Теперь вы написали код для размещения значения элемента ele
в нужном месте при сортировке.
Предположим, вам нужно добавьте еще немного информации в узел вашего связанного списка:
class Node{
int element;
char char_ele; // newly added member
string str_ele; // newly added member
Node previous;
Node next;
....
....
}
Теперь с этим изменением вы должны внести изменения в свой код сортировки, чтобы поместить char_ele
и str_ele
в нужное место вместе с ele
при сортировке. Но если вы реализуете правильную сортировку связанного списка, в которой узлы перекомпоновываются на основе условия сортировки, вам не нужно вносить какие-либо изменения в вашу реализацию независимо от изменений в data части узла.