- 博客(8)
- 收藏
- 关注
原创 快速排序
快速排序算法思想代码实现运行结果测试算法思想在待排序的数组中选取一个作为基准元素,基准元素任意取,这里选择数组中间的元素作为基准,遍历数组中的其他元素,把小于基准元素的放在基准元素左边,大于基准元素的放在基准元素的右边,然后对基准元素两边的序列分别执行上面的操作,可以考虑使用递归,就这样一直划分下去,直到划分后的序列左右两边都只有一个元素,此时就得到了排序后的序列。代码实现function quick(a) { if(a.length<=1){ retu
2020-09-14 18:06:20
109
原创 选择排序
选择排序算法思想代码实现执行结果验证算法思想对于一个数组arr,执行arr.length-1趟,每一趟都在数组中找到最小元素,然后将这一趟得到的最小元素与数组从下标为0开始依次交换,而经过交换,放到数组前面的元素,不参与后面的比较。经过arr.length-1趟的比较,数组的元素都找到自己合适的位置。代码实现function selectSort(arr) { //执行arr.length-1趟 for(let i=0;i<arr.length-1;i++){
2020-09-09 22:06:18
123
原创 冒泡排序
冒泡排序基本原理代码实现运行结果验证基本原理假如是对一组数据从小到大排列,依次比较两个相邻的元素,如果前者大于后者,就交换这两个元素,保证每次比较后,两个数之间的较大者在后面,等到第一趟比较完之后,数组的最后一个元素就是该数组中的最大值,所以下一次比较时最后一个元素不参与,每一趟比较完都会找到一个本趟的最大值,这些值都不参与后面的比较,随着趟数的增加,需要比较的元素越来越少,直到最后一趟比较完第一个和第二个元素后,结束。此时就得到排序后的数组。代码实现function bubbleSort(arr)
2020-09-08 22:58:56
119
原创 插入排序
插入排序面试中遇到,30分钟实现冒泡排序、选择排序、插入排序以及快速排序,学过的好久没看,当时忘了,只实现了冒泡和选择,所以对这几种排序算法分别温习一下,加深印象。基本原理把数组分为两部分,一部分是已排好序的(刚开始只有数组的第一个元素,后面会不断增加),另一部分是未排好序的,遍历未好排序的元素,在已排好序的元素中找到合适的位置,不断扩充已排序的部分,直到未排序的元素都加入到已排好序的那一部分中。代码实现 function insert_sort(a){ let preInde
2020-09-06 23:58:01
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人