1. 程式人生 > 資訊 >谷歌和 NASA 製作了詹姆斯・韋伯太空望遠鏡 3D 模型,可檢視每一處細節

谷歌和 NASA 製作了詹姆斯・韋伯太空望遠鏡 3D 模型,可檢視每一處細節

演算法步驟

將第一待排序序列第一個元素看做一個有序序列,把第二個元素到最後一個元素當成是未排序序列。

從頭到尾依次掃描未排序序列,將掃描到的每個元素插入有序序列的適當位置。(如果待插入的元素與有序序列中的某個元素相等,則將待插入元素插入到相等元素的後面。)

public int[] sort(int[] sourceArray) throws Exception {
        // 對 arr 進行拷貝,不改變引數內容
        int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);

        // 從下標為1的元素開始選擇合適的位置插入,因為下標為0的只有一個元素,預設是有序的
for (int i = 1; i < arr.length; i++) { // 記錄要插入的資料 int tmp = arr[i]; // 從已經排序的序列最右邊的開始比較,找到比其小的數 int j = i; while (j > 0 && tmp < arr[j - 1]) { arr[j] = arr[j - 1]; j--; }
// 存在比其小的數,插入 if (j != i) { arr[j] = tmp; } } return arr;
}