1 parent 4296f77 commit 45d45d5Copy full SHA for 45d45d5
1 file changed
快速排序
@@ -0,0 +1,39 @@
1
+/**
2
+ *几种排序算法
3
+ *@TangGuichuan
4
+ *
5
+ */
6
+
7
8
9
+* 选择排序 http://zh.wikipedia.org/wiki/选择排序
10
+* 原理:在未排序的序列中找到最大(小)的元素与第1个元素交换,
11
+* 在剩余元素中继续找最大(小)的元素与第2个元素交换,
12
+* 以此类推,直到排序完毕
13
+*/
14
15
+function selectionSort(arr){
16
+ var
17
+ i = arr.length - 1,
18
+ j,
19
+ special; //最大或最小值的位置
20
21
+ // 采用倒序,提高查找性能
22
+ for (; i >= 0; i--) {
23
+ special = i;
24
25
+ for (j = i - 1; j >= 0; j--) {
26
27
+ // 正序与倒序取决于这里的判断,max or min
28
+ if(arr[special] < arr[j]){
29
+ // 当前的最值位置
30
+ special = j;
31
+ }
32
33
34
+ // 最值与当前位置的值交换位置
35
+ arr[special] = [arr[i], arr[i] = arr[special]][0];
36
37
38
+ return arr;
39
+}
0 commit comments