如何利用JavaScript實現(xiàn)排序算法淺析
冒泡排序
冒泡排序就是重復從序列右邊開始比較相鄰兩個數(shù)字的大小,再根據(jù)結果交換兩個數(shù)字的位置。
JavaScript代碼實現(xiàn):
代碼簡介:聲明一個數(shù)組變量,通過while給數(shù)組變量賦值,當輸入“#”時停止輸入,然后遍歷相鄰的兩個數(shù),讓相鄰的兩個數(shù)升序排列,遍歷n-1次實現(xiàn)排序;
var a = Array(); flag=true; var i = 0; var j = 0; var temp = 0; while(flag){ var b = prompt("請輸入第i個數(shù)字:"); if(b=="#"){ flag=false; }else{ a[i] = b; } i++; } s = a.length; for(j=0;j<s;j++){ console.log(a[j]); } for(j=1;j<s;j++){ for(i=0;i<s-j;i++){ if(a[i]>a[i+1]){ temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; } } } for(j=0;j<s;j++){ console.log("升序:",a[j]); }
輸入3,4,2,8,6。輸出結果如下:
選擇排序
選擇排序就是重復從待排序的數(shù)據(jù)中尋找最小值,將其與序列最左邊的數(shù)字進行交換
JavaScript代碼實現(xiàn):
var a = Array(); flag=true; var i = 0; var j = 0; var temp = 0; while(flag){ var b = prompt("請輸入第i個數(shù)字:"); if(b=="#"){ flag=false; }else{ a[i] = b; } i++; } s = a.length; for(j=0;j<s;j++){ console.log("數(shù)組:",a[j]); } for(i=0;i<s;i++){ for(j=0;j<s;j++){ if(a[i]>a[j]){ temp = a[j]; a[j] = a[i]; a[i] = temp; } } } for(j=s-1;j>=0;j--){ console.log("選擇排序:",a[j]); }
插入排序
插入排序算法:通過構建有序數(shù)組元素的存儲,對未排序的數(shù)組元素,在已排序的數(shù)組中從最后一個元素向第一個元素遍歷,找到相應位置并插入。
js代碼實現(xiàn):
var flag = true; var a = new Array(); var i=0; while(flag){ var s = prompt('請輸入一個數(shù):'); if(s=='#'){ flag=false; }else{ a[i] = s; } i++; } console.log(a); for(var i=1;i<a.length;i++){ for(var j = i;j>0;j--){ if(a[j-1]>a[j]){ var temp = a[j-1]; a[j-1] = a[j]; a[j] = temp; } } } for(var i=0;i<a.length;i++){ console.log(a[i]); }
輸入5,3,7,4,8,1,6。輸出結果如下:
總結
到此這篇關于如何利用JavaScript實現(xiàn)排序算法的文章就介紹到這了,更多相關js實現(xiàn)排序算法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Bootstrap富文本組件wysiwyg數(shù)據(jù)保存到mysql的方法
這篇文章主要為大家詳細介紹了Bootstrap富文本組件wysiwyg數(shù)據(jù)保存到mysql的方法,感興趣的小伙伴們可以參考一下2016-05-05JavaScript 數(shù)組去重并統(tǒng)計重復元素出現(xiàn)的次數(shù)實例
下面小編就為大家分享一篇JavaScript 數(shù)組去重并統(tǒng)計重復元素出現(xiàn)的次數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12前端JavaScript實現(xiàn)本地模糊搜索功能的方法實例
對于模糊查詢,一般都是傳關鍵字給后端,由后端來做。但是有時候一些輕量級的列表前端來做可以減少ajax請求,在一定程度上提高用戶體驗,這篇文章主要給大家介紹了關于前端JavaScript如何實現(xiàn)本地模糊搜索功能的相關資料,需要的朋友可以參考下2021-07-07?javascript學數(shù)組中的foreach方法和some方法
這篇文章主要介紹了?javascript學數(shù)組中的foreach方法和some方法,文章相關內容和代碼詳細,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你的學習有所幫助2022-03-03js實現(xiàn)導入導出功能實例代碼(FileSave.js)
這篇文章主要給大家介紹了關于js實現(xiàn)導入導出功能(FileSave.js)的相關資料,FileSaver.js是在客戶端保存文件的解決方案,非常適合在客戶端上生成文件的Web應用,需要的朋友可以參考下2023-11-11