c - 对链表进行排序并返回到原始未排序的顺序

标签 c linked-list

我有一个未排序的链表。我需要按某个字段对它进行排序,然后将链表返回到之前未排序的状态。如何在不复制列表的情况下执行此操作?

最佳答案

当您说“将链表返回到其之前未排序的状态”时,您的意思是该列表需要按随机顺序放置还是与您开始时的顺序完全相同?

无论如何,不​​要忘记一个列表一次可以链接到多个列表。如果您有两组“下一个”/“上一个”指针,那么您可以有效地同时以两种不同的方式对同一组项目进行排序。

关于c - 对链表进行排序并返回到原始未排序的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3550821/

相关文章:

c++ - 如何在链表中搜索结构对象

c - 使用反向迭代方法时不打印反向链接列表

c - 从数组创建链表时 C 中的段错误

c - 通过 C 使用 Windows 读取 '\n'(换行符)终止的字符串

c - 为什么这段代码可以在应该为空的时候从 stdin 中读取?

C 代码错误 : expected ';' , 标识符或 '(' 之前的 'char' 。我似乎找不到这个错误的解决方案。有人可以帮我吗?

c++ - C 和 C++ 编译器如何实现 float 的相等性判定?

c - 调用函数时出现 Invalid free()/delete/delete[]/realloc() 错误

c - C中循环链表的显示函数

c - 简单链表C代码段错误