啊 难道我已经被生活所同化了吗 怎么感觉算法之于我就像是异次元的东西 @42#
以解决。用冒泡排序。
而对于char。本来不想用strcmp。但是实在写不出了。只能调用它了。
汝欠咱的一生 发表于 2013-4-2 22:53 【链接登录后可见】
我想对 其中的 L->f 和 L->i 进行快排。
如果每个节点的数据是多维的 怎么定义comparable?
对链表进行sort本来就很蛋疼 如果你练玩了quick sort可以试试merge sort
汝欠咱的一生 发表于 2013-4-2 23:05 【链接登录后可见】
确实想用快排。但想想冒泡 其实也挺适用于链表。
细想一下也是可以的,轴点用第一个元素也ok的,可能就是效果没有取中点的好,不过也只是统计学上来说差点。
然后每次递归都是将一个链表拆成两个链表和一个单节点再连接成一个链表就
【查看更多内容请登录哈】
本帖最后由 foodszhu 于 2013-4-2 23:15 编辑
如果不介意多占点空间。。。你可以先把链表拷贝到一个数组里。。。然后再拿这个数组进行快速排序。。。标准库<stdlib.h>中提供了一个快排函数,qsort,你只要写一个比较函数int cmp(const void*a, c
【查看更多内容请登录哈】
jimsshom 发表于 2013-4-2 23:03 【链接登录后可见】
我没记错的话快速排序好像是每次找出中间元素作轴点的吧,对于链表来说不适用吧。。。
是指的”比较快速的 ...
确实想用快排。但想想冒泡 其实也挺适用于链表。
我没记错的话快速排序好像是每次找出中间元素作轴点的吧,对于链表来说不适用吧。。。
是指的”比较快速的排序“而不是“快速排序算法”吧?
foodszhu 发表于 2013-4-2 22:52 【链接登录后可见】
这到底是快排还是链表排序啊。。。链表的话就是顺序排序了。。。
我想对 其中的 L->f 和 L->i 进行快排。
这到底是快排还是链表排序啊。。。链表的话就是顺序排序了。。。