經典演算法之直接插入排序及其優化

2021-08-13 06:15:49 字數 1120 閱讀 5076

/************************

author's email:[email protected]

date:2017.12.9

直接插入排序

************************/

/*每一趟將乙個待排序的關鍵字按照其值得大小插入到已經排序好的部分有序序列的適當位置上,

直到所有待排序關鍵字都被插入到有序序列中為止。第一趟,把第乙個關鍵字看做有序列的,從

第二關鍵字開始插入。

*/#include#define maxsize 10

using namespace std;

void directlyinsertsort1(int d, int n);//直接插入排序

void directlyinsertsort2(int d, int n);//直接插入排序改進

void printarray(int d, int n);//輸出陣列

void main() ;//構造乙個一維陣列

int e[maxsize] = ;

directlyinsertsort1(d, maxsize);//直接插入排序陣列

cout << "直接插入排序後,結果為:" << endl;

printarray(d, maxsize);//輸出陣列

directlyinsertsort2(e, maxsize);//直接插入排序,由於上面執行完d陣列已經有序,這我們構造乙個與d陣列完全相同的e陣列進行測試。

cout << "改進的直接插入排序後,結果為:"<= 0 && temp < d[j])

d[j + 1] = temp;//找到插入位置,將temp插入。j最後-1,所以這裡加1。 }}

/**/

void directlyinsertsort2(int d, int n)

d[j + 1] = temp;//找到插入位置,將temp插入。j最後-1,所以這裡加1。

經典演算法之直接插入排序

1 演算法思想 把待排序的元素插入已經排序的序列中。取第乙個元素為有序序列。從剩下的元素中依次取值和相鄰的元素作比較,找到合適的位置並插入。直至所有待排序的元素為有序序列。2 實現 1 coding utf 8 2def inert sort lst 3for i in range 1,len ls...

排序 直接插入排序及其優化(java)

演算法思想 直接插入排序是將整個陣列分為有序陣列和無序陣列,有序陣列是由比較過的元素組成的,而無序陣列就是還沒有進行比較的元素組成的。插入排序通過構建有序序列,對於沒有排序元素,在已排序序列中從後向前掃瞄,找到相應位置並插入 重複該操作,直到最後乙個元素排序完成。到此完成序列排序。演算法分析 1 從...

演算法之直接插入排序

演算法之直接插入排序簡介 直接插入排序 基本操作是將一條記錄插入到已排好的有序表中,從而得到乙個新的 記錄數量增1的有序表。參考 直接插入排序 基本操作是將一條記錄插入到已排好的有序表中,從而得到乙個新的 記錄數量增1的有序表。author zhang public class directinse...