【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】排序算法(冒泡排序归并排序归并排序归并排序快速排序)插入排序插入排序选择排序选择排序选择排序

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...