直接插入排序:
package insertsort;
//插入排序之直接插入排序
//直接插入排序基本思想
//在要排序的一組數中,假設n-1個數已經排好,將第n個數插入到已經排好的序列中
//如此反覆迴圈,直至所有的數排好。
public class directinsertsort {
public int insertsort(int data){
//兩層for迴圈
//一組數,先是獲得這組數中的第i個數,放置在tmp變數中,然後用第i個數與i個之前數比較
int i,j;
for(i = 1;i0 && tmp
package insertsort;
//插入排序之希爾排序
//希爾排序的本質仍為插入排序,通過增量的設定提高了效率
//增量的設定設為d1=n/2,是將待排序陣列分為若干個子陣列,再進行直接插入排序
//然後增量設定為d2=d1/2,再進行插入排序,直至增量為1,進行直接插入排序,結束操作
public class shellsort {
public int shellsorttest(int data){
int tmp;//將待插入元素存入一空間內
int i,j=0;
int x = 0;
double d = data.length;
while(true){
//將待排序陣列分為d1個字陣列
d = math.ceil(d/2);
int d1 = (int)d;
//取出子陣列中的元素
for(i=0;i=0&&tmp
排序演算法之插入排序
排序演算法之插入排序 1 插入排序的思想 假設在乙個有序序列中 e 0 e i 1 這i 個元素已經排好序,則當要將第 i 1個元素 e 插入該序列時,只需將第 i 1個元素與從 e 0 開始到e i 1 元素進行比較,當發現第 j個元素 e j 在序列中應在 e 前,且 e j 1 應在e 後時,...
排序演算法之插入排序
排序演算法之插入排序 1 插入排序的思想 假設在乙個有序序列中 e 0 e i 1 這i 個元素已經排好序,則當要將第 i 1個元素 e 插入該序列時,只需將第 i 1個元素與從 e 0 開始到e i 1 元素進行比較,當發現第 j個元素 e j 在序列中應在 e 前,且 e j 1 應在e 後時,...
排序演算法之插入排序
本節主要分析插入排序演算法的直接插入排序和希爾 shell 排序 又稱縮小增量排序 1.直接插入排序 該排序是最簡單的排序方法,其基本思想是 假設待排序的記錄存放在陣列r 1.n 中。初始時,r 1 自成1個有序區,無序區為r 2.n 從i 2起直至i n為止,依次將r i 插入當前的有序區r 1....