毕业后,由于工作中很少需要自已去写一些排序,所以那些排序算法都忘得差不多了,不过排序是最基础的算法,还是不能落下啦,于是找了一些资料,然后用Javascript实现了一些常用的算法,具体代码如下:
javascript常用排序算法实现
分类:
编程语言 时间:
2014-05-25 23:15:20
阅读次数:
303
出题:不同大小烙饼的排序问题:对于N块大小不一的烙饼,上下累在一起,由于一只手托着所有的饼,所以仅有一只手可以翻转饼(假设手足够大可以翻转任意块数的
饼),规定所有的大饼都出现在小饼的下面则说明已经排序,则最少需要翻转几次,才能达到大小有序的结果(改变饼的顺序只能整体翻转,不能相邻交换);分析:假设...
分类:
其他好文 时间:
2014-05-25 22:25:24
阅读次数:
324
题目:数字中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。分析:首先进行排序,因为大于一半,所以说经过排序之后的数组,如有次数大于的话说明那个数肯定是数组中间的那...
分类:
其他好文 时间:
2014-05-25 22:18:56
阅读次数:
255
$arr = array(3,55,45,2,67,76,6.7,-65,85,4);function
quickSort($arr){ if (count($arr) ";print_r($new_arr);exit;
分类:
Web程序 时间:
2014-05-25 19:13:17
阅读次数:
233
//选择排序法$arr =
array(3,55,45,2,67,76,6.7,-65,85,4);function selectSort($arr){ for ( $i=0;
$i";print_r($res);exit;
分类:
Web程序 时间:
2014-05-25 19:10:18
阅读次数:
202
//插入排序法$arr =
array(3,55,45,2,67,76,6.7,-65,85,4);function insertSort($arr){ for ( $i=0;
$i=$arr[$j] ){ $transit_variable = $arr[$j]...
分类:
Web程序 时间:
2014-05-25 19:08:09
阅读次数:
271
/*自我修改* Note: 堆排序(Heap Sort)*/#include using
namespace std;// 输出当前堆的排序状况void PrintArray(int data[], int size){ for (int i=1;
i a[i]) // 符号修改后形成...
分类:
其他好文 时间:
2014-05-25 19:07:25
阅读次数:
227
PS:刚开始我还不知道函数指针有什么用,因为一个函数当中,弄个指针岂不是很麻烦,调用的时候直接找到函数就行了,在弄个指针指向它岂不是多此一举,但是,这可能是一种封装的机制,把函数封装好,看不到局部函数,可能是一种保护机制吧。。或者在主函数内部直接定义指针,更一目了然。比如qsort啥的,排序的算法已...
分类:
其他好文 时间:
2014-05-25 18:42:53
阅读次数:
205
Go是一款先进的持续集成和发布管理系统,由ThoughtWorks开发。(不要和Google的编程语言Go混淆了!)其前身为CruiseControl,是ThoughtWorks在做咨询和交付交付项目时自己开发的一款开源的持续集成工具。后来随着持续集成及持续部署的火热,ThoughtWorks专门成...
分类:
其他好文 时间:
2014-05-25 12:32:57
阅读次数:
440
寒假学的两个算法,普里姆,克鲁斯卡尔终于弄明白了,可以发总结了
先说说普里姆,它的本质就是贪心,先从任意一个点开始,找到最短边,然后不断更新更新len数组,然后再选取最短边并标记经过的点,直到所有的点被标记,或者说已经选好了n-1条边。
克鲁斯卡尔,一个排序一个并查集只是表面,实质还是贪心,只不过普里斯是任选一个点选最短路,而克鲁斯卡尔是看全局,全体边排序,当然,因为排序,导致时间复杂度不容易降下来。
拿SDUTOJ2144为例,代码如下,可做模板...
分类:
其他好文 时间:
2014-05-25 11:10:47
阅读次数:
256