JavaScript 冒泡排序和選擇排序的實(shí)現(xiàn)代碼
更新時間:2016年09月03日 16:58:37 作者:前端愛好者
本文通過實(shí)例代碼給大家介紹了js冒泡排序和選擇排序的實(shí)現(xiàn)代碼,代碼簡單易懂,非常不錯,具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
廢話不多說了,直接給大家貼代碼了,具體代碼如下所述:
var array = [1,2,3,4,5]; // ---> 服務(wù) //效率 ---> 針對一個有序的數(shù)組 效率最高 //標(biāo)志 true false for(var j = 0; j < array.length - 1;j++ ){ //- j 每次排序完成之后 后面減少比較的次數(shù) var isTrue = true; //如果數(shù)組本身就是升序,則直接輸出 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實(shí)現(xiàn)三種排序:冒泡排序、選擇排序、插入排序的代碼
<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++) {//比較的次數(shù)是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/*最小項(xiàng)的索引*/, tmp; for (var out = 0; out < a.length - 1; out++) {//比較的次數(shù)是length-1 min = out; for (var inner = out + 1; inner < a.length; inner++) {//這里是a.length,不是a.lenght-1,因?yàn)楹笳邥?dǎo)致右數(shù)第2項(xiàng)沒法參與排序。 if (a[inner] < a[min]) { min = inner; } //將最小的項(xiàng)移動到左側(cè) 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 冒泡排序和選擇排序的實(shí)現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家!
相關(guān)文章
javascript實(shí)現(xiàn)yield的方法
這篇文章介紹了javascript實(shí)現(xiàn)yield的方法,有需要的朋友可以參考一下2013-11-11js實(shí)現(xiàn)不提示直接關(guān)閉網(wǎng)頁窗口
本文主要介紹了js實(shí)現(xiàn)不提示直接關(guān)閉網(wǎng)頁窗口的方法。具有很好的參考價值,下面跟著小編一起來看下吧2017-03-03jquery實(shí)現(xiàn)select下拉框美化特效代碼分享
這篇文章主要介紹了jquery實(shí)現(xiàn)select下拉框美化特效,實(shí)現(xiàn)效果簡潔大方,推薦給大家,有需要的小伙伴可以參考下。2015-08-08