乙個陣列有n個數字,由小到大排序;
1.氣泡排序
主要思想:從前到後一次比較相鄰兩個數的大小,順序不滿足大小要求就交換兩者之間的位置;
然後迴圈陣列長度-1,實現排序
比較次數 (n-1) + (n-2)+·······+1= n*(n-1)/2
2.選擇排序
主要思想:首先選擇陣列第乙個數,與第二個數做比較,對大的數進行標記,並與第三個數進行比較,······依次比較到最後乙個數,最後得出的是陣列中最大的數,然後將這個數與最後乙個數交換位置;這樣就將最大的數放到了最後;
迴圈上述操作,注意每一輪比較,的最後乙個數是上一輪最大數前面的那個數字;
比較次數:(n-1)+(n-2)+······+1=n*(n-1)/2
以上兩種的時間複雜度都是o(n^2),但是選擇排序對陣列中元素的交換要少於氣泡排序;
以下是樣本**:
public class bubblesort }}
show(array);
}public void selectsort(int array)
}int temp = array[array.length-i];
array[array.length-i] = array[index];
array[index]= temp;
}show(array);
}public void reservesort(int array){
for(int i=0;i
陣列常見方法總結
var arr 1 2,3 4 var arr1 newarray 1 2,3 4 1,2,3,4 var arr2 newarray 10 empty 10 var arr3 array 1 2,3 4 1,2,3,4 var arr5 array.of 1,2,3,4 1,2,3,4 var a...
陣列常見方法分類
concat 連線兩個或更多的陣列,並返回結果。every 檢測陣列元素的每個元素是否都符合條件。some 檢測陣列元素中是否有元素符合指定條件。filter 檢測陣列元素,並返回符合條件所有元素的陣列。indexof 搜尋陣列中的元素,並返回它所在的位置。join 把陣列的所有元素放入乙個字串。t...
陣列 的幾種常見方法
unshift 新增,將要給定的數值新增到陣列的開頭 var arr 西瓜 蘋果 雪梨 香蕉 arr.unshift 桃子 哈密瓜 桃子 哈密瓜 西瓜 蘋果 雪梨 香蕉 console.log arr shift 方法 從陣列中刪除第乙個元素,並返回該元素的值。此方法更改陣列的長度。從陣列中刪除的元...