求一个单向链表的快速排序算法?
如果快排不行,有没有别的效率较高的算法?当然,别跟我说先把链表变成数组这类的。。
[解决办法]
可以直接快排。
只修改结构体中的数据,而不改变链表结构的话,就很简单,传一个目标区间的头指针,再传一个尾指针,就可以实现。
如果要依靠修改链表结构来排序的话,则比较麻烦,参数应该为要排序区间的 头指针的前一个元素的指针,以及尾指针的后面一个元素的指针。
[解决办法]
ls说的对
可以只交换数据的话,跟普通的快排没有区别
如果不可以的话,需要记录更多一些的辅助信息,但是依然是可以实现的