对链接列表进行排序

时间:2015-10-12 02:56:47

标签: sorting linked-list selection-sort

我有一个结构类型节点:

struct node
{
    int data;
    node *next;
};

我有一个使用此节点结构的链表。我可以使用另一个链表对这个链表进行排序,并在那里复制节点值,但我想在链表中实现selection sort。我已经阅读了一些问题和文章,但我不清楚这是否可行。我是否需要索引来实现选择排序?如果有可能,那我该怎么办?

1 个答案:

答案 0 :(得分:1)

选择排序是指数组,向量,具有随机访问迭代器的东西,没有像下一个指针那样的链接(链接在交换元素时会产生开销)。对于一个简单的列表排序,从一个空列表开始,它将成为排序列表,比如这是struct node * sorted = NULL; 。从原始列表中删除一个节点,并按排序顺序将它们插入排序列表(以空列表开头)。

编写一些代码并使用您迄今为止尝试过的内容更新答案。