JavaScript 冒泡排序和选择排序的实现代码
2016-09-03 16:58
711 查看
废话不多说了,直接给大家贴代码了,具体代码如下所述:
var array = [1,2,3,4,5]; // ---> 服务 //效率 ---> 针对一个有序的数组 效率最高 //标志 true false for(var j = 0; j < array.length - 1;j++ ){ //- j 每次排序完成之后 后面减少比较的次数 var isTrue = true; //如果数组本身就是升序,则直接输出 for(var i = 0; i < array.length - j - 1;i++){ if(array[i] > array[i+1]) { var temp = array[i]; array[i] = array[i+1]; array[i+1] = temp; isTrue = false; } } document.write(array); if(isTrue){ break; } }
var array = [12,34,4,6,20]; //length - 1 j = 0 - length - 1 for(var j = 0; j < array.length - 1;j++){ var min = array[j]; // 1 3 34 4 345 5 var minIndex = j; for(var i = j + 1; i < array.length;i++){ if(array[i] < min){ min = array[i]; minIndex = i; } } if(minIndex != j){ var temp = array[minIndex]; array[minIndex] = array[j]; array[j] = temp; } }
下面在看下Javascript实现三种排序:冒泡排序、选择排序、插入排序的代码
<script type="text/javascript"> var a; a = [66, 53, 11, 5, 4, 3, 2, 1]; /*冒泡排序*/ (function maopaopaixu() { for (var i = 0; i < a.length - 1; i++) {//比较的次数是length-1 for (var j = 0; j < a.length - 1 - i; j++) { if (a[j] > a[j + 1]) { var tmp = a[j]; a[j] = a[j + 1]; a[j + 1] = tmp; } } } alert(a); })(); a = [66, 53, 11, 5, 4, 3, 2, 1]; /*选择排序*/ (function xuanzepaixu() { var min/*最小项的索引*/, tmp; for (var out = 0; out < a.length - 1; out++) {//比较的次数是length-1 min = out; for (var inner = out + 1; inner < a.length; inner++) {//这里是a.length,不是a.lenght-1,因为后者会导致右数第2项没法参与排序。 if (a[inner] < a[min]) { min = inner; } //将最小的项移动到左侧 tmp = a[out]; a[out] = a[min] a[min] = tmp; } } alert(a); })(); a = [66, 53, 11, 5, 4, 3, 2, 1]; /*插入排序*/ (function charupaixu() { for (var out = 1; out < a.length; out++) { var tmp = a[out]; var inner = out; while (a[inner - 1] > tmp) { a[inner] = a[inner - 1]; --inner; } a[inner] = tmp; } alert(a); })(); </script>
以上所述是小编给大家介绍的JavaScript 冒泡排序和选择排序的实现代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家!
您可能感兴趣的文章:
相关文章推荐
- 快速排序,选择排序,直接插入,冒泡排序的javascript实现
- C语言实现选择排序、冒泡排序和快速排序的代码示例
- 排序基础之插入排序、冒泡排序、选择排序详解与Java代码实现
- 【Java】数组的冒泡排序和选择排序(原理+代码实现)
- java实现数组的冒泡排序、选择排序代码
- 插入排序、冒泡排序、选择排序、希尔排序、快速排序、归并排序、堆排序和LST基数排序的C++代码实现
- Python实现冒泡排序、选择排序、插入排序、快速排序、归并排序、二分法查找算法(基于《算法导论》伪代码)
- 冒泡排序和选择排序二分查找代码实现
- Java中的选择排序和冒泡排序思想及代码实现
- 基础排序——冒泡排序、选择排序、插入排序的讲解、代码实现
- Javascript实现三种排序:冒泡排序、选择排序、插入排序
- 冒泡排序,选择排序的的代码实现
- 冒泡排序 & 选择排序 & 插入排序 & 希尔排序 JavaScript 实现
- 一个特殊的排序需求的javascript实现代码
- C#实现所有经典排序算法(选择排序 冒泡排序 快速排序)
- javascript 节点排序实现代码
- 几种常用的排序算法:插入排序、冒泡排序、选择排序的算法及C++实现
- C#实现所有经典排序算法(选择排序,冒泡排序,快速排序,插入排序,希尔排序)
- 冒泡排序、选择排序、插入排序 算法实现(C++)
- 交换排序——冒泡排序和快速排序,C++代码实现