Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 将链接列表排序到位_Sorting_Linked List_Selection Sort - Fatal编程技术网

Sorting 将链接列表排序到位

Sorting 将链接列表排序到位,sorting,linked-list,selection-sort,Sorting,Linked List,Selection Sort,我有一个结构类型节点: struct节点 { int数据; 节点*下一步; }; 我有一个使用此节点结构的链表。我可以使用另一个链表对这个链表进行排序,并在那里复制节点值,但我想在链表中实现一个。我看过一些问题和文章,但我不清楚这是否可能。我是否需要索引来实现选择排序?如果可能的话,我该如何继续?选择排序用于数组、向量、具有随机访问迭代器且没有下一个指针之类的链接的对象(这些链接在交换元素时会产生开销)。对于简单的列表排序,从将成为排序列表的空列表开始,假设这是struct node*sort

我有一个结构类型节点:

struct节点
{
int数据;
节点*下一步;
};

我有一个使用此节点结构的链表。我可以使用另一个链表对这个链表进行排序,并在那里复制节点值,但我想在链表中实现一个。我看过一些问题和文章,但我不清楚这是否可能。我是否需要索引来实现选择排序?如果可能的话,我该如何继续?

选择排序用于数组、向量、具有随机访问迭代器且没有下一个指针之类的链接的对象(这些链接在交换元素时会产生开销)。对于简单的列表排序,从将成为排序列表的空列表开始,假设这是struct node*sorted=NULL。从原始列表中一次删除一个节点,并按排序顺序将其插入排序列表(以空列表开始)


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

有什么建议吗?
是的,编写一些排序代码。认真地你的问题是什么?你只是想有人给你代码?勒芒,请做我的家庭作业,这样…我就不能在链表中实现选择排序了?@avijitbhattacharjee-带列表的选择排序有点复杂。从设置为从列表的第一个节点开始的扫描指针开始。扫描列表中的“最小”节点,然后将该节点与列表中的第一个节点交换(如果不同),然后将扫描指针移到第二个节点,并重复该操作,直到浏览列表为止。若要交换节点,请交换指向这两个节点的任何对象,然后交换这两个节点的下一个指针(按该顺序)。