选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。
分类:
编程语言 时间:
2016-01-26 12:17:38
阅读次数:
145
快速排序算法跟归并排序算法一样,都是利用的是分治原则,通过不断将一个未排序的数组进行划分排序,直到最后组成一个有序的数组。快速排序算法的原理就是从未排序的数组中取出一个数(一般是第一个或者是最后一个元素)作为主元,将未排序数组中小于这个主元的元素放在主元的左边,大于主元的元素放在主元的右边。然后.....
分类:
编程语言 时间:
2016-01-22 14:19:52
阅读次数:
139
快速排序是一种交换排序。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边都是比它大的数。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。基本思想:1)选择一个基准元素,通常选择第一个元素或者最后一个元素...
分类:
编程语言 时间:
2016-01-22 13:38:44
阅读次数:
224
实现堆排序需要解决两个问题:1、如何将n个待排序的数建成堆2、输出堆顶元素之后。如何调整剩余n-1个元素,使其成为一个新堆使用最大堆来进行堆排序算法实现,所谓堆排序就是每次交换堆顶元素与堆中最后一个元素,然后对前面的堆中的元素从堆顶开始调整。具体代码如下: 1 #include 2 3 usin.....
分类:
编程语言 时间:
2016-01-20 18:44:51
阅读次数:
151
array_unique 清除数组中的重复项通过数组后面加上中括号[],往数组里面添加元素。$array1[] = "葡萄"array_unshift向数组的顶部追加数据元素。array_shift删除顶部元素。如果删除失败,返回Nullarray_pop删除最后一个元素。unset() 删除变量,...
分类:
编程语言 时间:
2016-01-15 12:40:36
阅读次数:
200
:first 选取第一个元素:$("div:first"):last 选取最后一个元素:$("div:last"):not(selector) 取出除selector之外的其他元素:$("div:not(.class)"):even 选取索引为偶数的元素:$("div:even"):odd 选取索引...
分类:
Web程序 时间:
2016-01-14 08:35:45
阅读次数:
159
:first,首元素选择器,选择匹配选择器的第一个元素,返回单个元素。1 :last,尾元素选择器,选择匹配选择器的最后一个元素,返回单个元素。1 :even,偶元素选择器,选择匹配选择器的元素中索引为偶数的元素,返回元素集合。1 :odd,奇元素选择器,选择匹配选择器的元素中索引为奇数的元素,返回...
分类:
Web程序 时间:
2016-01-12 09:54:10
阅读次数:
137
基本过滤选择器:first 选取第一个元素:$("div:first"):last 选取最后一个元素:$("div:last"):not(selector) 取出除selector之外的其他元素:$("div:not(.class)"):even 选取索引为偶数的元素:$("div:even"):o...
分类:
Web程序 时间:
2016-01-09 09:44:41
阅读次数:
195
如果不用hashmap解决2sum,而是把2sum看成nSum中的一部分,那么就需要用two pointers来解决问题。2sum伪代码:1. 先对给定的数组进行排序2. walker指第一个元素,runner指最后一个元素3.当walker小于runner: 1)如果walker和runner的....
分类:
其他好文 时间:
2016-01-06 21:30:11
阅读次数:
126
栈方法(后进先出)ArrayObj.push()方法ArrayObj.pop()方法ArrayObj.push():就是向数组末尾添加新的元素,返回的是数组新的长度。ArrayObj.pop():就是向数组中删除数组最后一个元素并且返回该元素。如果数组为空就返回undefined。队列方法(先进先出...
分类:
编程语言 时间:
2016-01-01 23:04:58
阅读次数:
276