1.插入排序
-》直接插入排序
#include void insertsort(int *unsort ,int length)
unsort[j] = temp;
} }}
int main(void) ;
insertsort(num,7);
int i =0;
for(i; i< 7; i++)
return 0;
}
-》折半插入排序
#include void insertsort(int *unsort ,int length)
else
}int j =0;
for( j = i-1;j>=high + 1;j--)
unsort[high + 1] = temp;
} }}
->2路插入排序
void cinsertionsort::path2insertion(void)
; //對順序表l作2-路插入排序。
int d[length] = ;
d[0] = l[1];//l中d的第乙個記錄為d中排好序的記錄。
int first = 0, final = 0;//first、final分別指示d中排好序的記錄的第1個和最後1個記錄的位置。
for (int i = 2; i <= length; ++i)//依次將l的第2個~最後乙個記錄插入d中。
else if (l[i] > d[final])//待插入記錄大於d中最小值,插入到d[final]之後(不需移動d陣列的元素)。
else//待插入記錄大於d中最小值,小於d中最大值,插入到d的中間(需要移動d陣列的元素)。
d[j + 1] = l[i];
} }
for (int i = 1; i <= length; i ++)//迴圈把d賦給l。
//列印排序結果。
for (int i = 0; i <= length; ++ i)
cout << endl;
}
-》shell插入排序
void shellsort(int v, int n)
v[j+gap] = temp;
}}
資料結構之排序演算法
學過好久的東西,感覺都忘記的差不多了,雖然可能日常寫 的過程之中也可能寫過一些演算法,但是從來都沒有規整,最近忙裡偷閒,寫點關於排序的演算法,當然好多人都寫過一些很不錯的演算法blog,我寫一下,只是方便自己日後檢視,當然也給有需要的朋友一些參考,歡迎指正 排序演算法有 氣泡排序,選擇排序,插入排序...
資料結構之排序演算法
1 直接插入排序 將乙個記錄插入到已經排好序的有序表中,只有當排序結束時每個元素才能進入到正確的位置,複雜度為o n2 優點 演算法簡單 易行,當待排序記錄數量較少時,該演算法非常有效 缺點 資料規模較大時,效率比較低。演算法insertsort r,n insertsort1.插入排序 for j...
資料結構之排序演算法
這是我在學習資料結構的時候,寫的一些簡單 關於各種排序,查詢演算法,可以作為他人學習資料結構的時候參考用 由於寫的比較匆忙,難免有問題,如有問題,歡迎指正!include include 插入排序 對於每乙個元素位置i,先查詢他對於前面已排序的位置j,然後 再將j到i之間的陣列往後移位,將j位置插入...