比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。
針對所有的元素重復以上的步驟,除了最后一個。
持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。
- function sort(elements){
- for(var i=0;i<elements.length-1;i++){
- for(var j=0;j<elements.length-i-1;j++){
- if(elements[j]>elements[j+1]){
- var swap=elements[j];
- elements[j]=elements[j+1];
- elements[j+1]=swap;
- }
- }
- }
- }
- var elements = [3, 1, 5, 7, 2, 4, 9, 6, 10, 8];
- console.log('before: ' + elements);
- sort(elements);
- console.log(' after: ' + elements);
時間復雜度:最好:O(n),最壞:O(n^2),平均:O(n^2)。
空間復雜度:O(1)。
穩定性:穩定。
新聞熱點
疑難解答
圖片精選