/**
* 插入排序系列
*/public class insertsort
system.out.println("ori array:" + arrays.tostring(array));
// insertsort(array);
shellsort(array);
system.out.println("new array:" + arrays.tostring(array));
system.out.println();}}
// 直接插入排序
private static void insertsort(integer array)
if (tmp < array[j])
} while (j >= 0);
array[j + 1] = tmp;}}
// 直接插入排序高階,查詢時使用二分查詢
// 插入排序對最終高階,希爾排序
// 跟直接插入對區別,就是分了區間,往前查詢對過程基本類似,之前的間隔是1,希爾排序的間隔是gap
public static void shellsort(integer array)
if (tmp < array[j])
} while (j >= 0);
array[j + gap] = tmp;
}// 跳出這個迴圈應該還有其他辦法
if (reached)
gap = (gap/3) + 1;
if (gap == 1) }}
}
插入排序和希爾排序
插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,插入排序的基本思想是 每步將乙個待排序的紀錄,按其關鍵碼值的大小插入前面已經排序的檔案中適當位置上,直到全部插入完為止。public static void sortins...
插入排序和希爾排序
1.首先,排序按類來分有插入排序 選擇排序 交換排序和歸併排序,而插入排序又分為直接插入排序和希爾 shell 排序 選擇排序類又分為選擇排序和堆排序,交換排序分為氣泡排序和快速排序,今天主要分享插入排序和希爾排序。2.插入排序概念 插入排序 對乙個陣列中的數,比較大小,假設它是公升序排列,認為它的...
插入排序和希爾排序
author shenqi date 2018 1 15.插入排序 每步將乙個待排序的記錄,按其順序碼大小插入到前面已經排序的字序列的合適位置 從後向前找到合適位置後 直到全部插入排序完為止。從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 ...