【Javascript】排序算法(冒泡排序,选择排序,插入排序,归并排序,快速排序)

前端之家收集整理的这篇文章主要介绍了【Javascript】排序算法(冒泡排序,选择排序,插入排序,归并排序,快速排序)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<table class="javascript"><tr class="li1">
<td class="ln"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120

回头重新刷了一遍《学习Javascript数据结构与算法》这本书,并把其中的排序算法部分亲自动手实践了一遍,包括把原书里面比较啰嗦的代码精简了一些 目前共整理出了五种:冒泡排序选择排序插入排序归并排序,快速排序递归 经典的排序算法有十种,剩下五种再慢慢研究   、冒泡算法:比较任意两个相邻的项,如果第一个比第二个大,则交换顺序 i i a. i   j i j a. j     aj ai                                 swapij       、选择排序:找到数组中最小的项并将其放到第一位,找到第二小的值,并将其放到第二位,依次……   indexMin i i a. i   indexMin i j i j a. j     aindexMin aj                 indexMin j         i indexMin     swapiindexMin   、插入排序:每次只排序一个数组项,确定它应该插入到哪个位置   jtemp i i a. i   j i temp ai while j aj temp         aj aj     j aj temp   、归并排序(分治):   ①将数组拆分成较小的数组,直到每个数组的长度为; ②合并和排序小数组,直到回到原始数组的长度;   mergeleft right result while left. right.         left right         result.left.             result.right.     result.left.right mergeSortarr   arr.     arr middle .arr.     left arr. middle     right arr.middle mergemergeSortleft mergeSortright   快速排序(分治)   ①从数组中选择中间项目作为主元 ②建立左右两个数组,分别存储左边和右边的数组 ③利用递归进行下次比较   快速排序*/ quickSortarr   arr.     arr index .arr. pivot arr.index left right i i arr. i         arri pivot         left.arri             right.arri     quickSortleft.pivotquickSortright    

猜你在找的JavaScript相关文章