【发布时间】:2014-12-18 05:46:10
【问题描述】:
给定一个列表和一个布尔函数 f,我如何重新排序该列表,使 f(element) == 1 的所有元素都在前面(这些元素的内部顺序无关紧要)和所有元素f(element) == 0 位于列表的末尾(同样,它们的内部顺序无关紧要)。
我试过了,但它真的很乱,有很多指针。我想知道是否有人知道这样做的“干净”方法?
感谢您的帮助。
【问题讨论】:
-
列表在哪里?
-
一些代码会很有用。如果你真的有一个链表(根据你的标签),那么没有结构就不能给你一个好的答案。
-
qsort 不能在任何链表上工作吗?
-
qsort 仅适用于连续的内存块。
标签: c list sorting linked-list