基本思想: 比对数组中元素,相等者输出元素在数组的下标,否则就输出没找到! 代码如下: function Orderseach(array,findVal){ var temp = false; //记录状态 for(var i =0;i<array.length;i++){ if(array[i]...
分类:
编程语言 时间:
2015-09-23 16:43:04
阅读次数:
206
1.原理待排序数组:[a1,a2,a3....an],通过n-i次关键字之间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(13 yes---k=2; 34 yes----k=4;3>1 yes---k=2; 32 yes---k=4; 此时k的值未变,不需要 a3=4,a4=51a[....
分类:
编程语言 时间:
2015-09-22 14:31:13
阅读次数:
217
堆排序是一种选择排序,其时间复杂度为O(nlogn)。堆的定义 n个元素的序列{k1,k2,…,kn}当且仅当满足下列关系之一时,称之为堆。 情形1:ki = k2i 且ki >= k2i+1 (最大化堆或大顶堆) 其中i=1,2,…,n/2向下取整; 若将和此序列对应的...
分类:
编程语言 时间:
2015-09-19 09:40:41
阅读次数:
175
排序算法 平均复杂度 冒泡排序 O(n2) 选择排序 O(n2) 插入排序 O(n2) 希尔排序 O(n1.5) 快速排序 O(N*logN) 归并排序 O(N*logN) 堆排序 O(N*logN) 基数排序 O(d(n+r)) 一. 冒泡排序(BubbleSort) 基本思想:两个数...
分类:
编程语言 时间:
2015-09-17 23:29:50
阅读次数:
834
选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。 选择排序正如定义所讲,在数组查询出最小值,然后放在此次循环开始位置(前一次循环已经获取比它更小的值放在前面)。 简单选择排序就是单纯的从数组中一次一次循环获取到最小值,放到循环位置。而堆排序正如...
分类:
编程语言 时间:
2015-09-17 17:11:28
阅读次数:
267
#include #include #include #define N 10/* 初始化一个数组*/void init_array(int a[], int n) { int i; srand(time(NULL)); for (i = 0; i a[j]) ...
分类:
编程语言 时间:
2015-09-17 11:40:36
阅读次数:
179
importjava.util.Random;/*** 排序测试类** 排序算法的分类如下: *1.插入排序(直接插入排序、折半插入排序、希尔排序); *2.交换排序(冒泡泡排序、快速排序);* 3.选择排序(直接选择排序、堆排序); *4.归并排序; *5.基数排序。** 关于排序方法的选择: *...
分类:
编程语言 时间:
2015-09-16 19:36:15
阅读次数:
413
稳定的排序算法:归并,插入排序 不稳定的排序算法:选择排序 (5,7,5,3: 3和5交换之后,两个5的相对顺序发生了变化) shell排序 (1, 5, 5, 2,3, 7 : shell序列为(3, 1), 3的时候(1,5,7)(5,2,3)), 在间隔>1的时候会出现不稳定 快速排序 (.....
分类:
编程语言 时间:
2015-09-16 17:35:30
阅读次数:
198
简单选择排序(simple selection sort)的基本思想:第一次选择所有数组元素中最小的放到第一个位置,第二次从剩下的n-1个元素中选择最小的放到第二个位置,以此类推,直到剩下一个元素,放到最后的位置上。基本步骤:(1)首先通过n-1次比较,从n个数组元素中找出最小的,将它与a[0]交换...
分类:
编程语言 时间:
2015-09-15 23:32:30
阅读次数:
485
时间总让我有后知后觉的挫感,或许是因为我从不愿记录过往。 3.1.1 选择排序(n个元素,0~n-1,升序,不稳定) 对数组A做i次扫描(0array[j]){ min=j; } } if(min!=i){ int temp=array[i]; ...
分类:
编程语言 时间:
2015-09-15 23:14:38
阅读次数:
399