深度解析插入排序與歸併排序

2021-08-11 17:09:02 字數 918 閱讀 6759

插入排序的基本思想是:每次將乙個待排序的記錄,按其關鍵字的大小插入到前面已經排好序的的記錄序列中的恰當位置,直到全部記錄插完為止。因此又稱為增量法。

書本上面利用哨兵防止資訊的丟失,在這兒,為了**的簡潔,我加了特判。

程式設計環境: vim

核心**:

歸併排序的基本思想是:把兩個後兩個以上的有序檔案合併起來,形成乙個新的有序檔案,大學期間常用的是自底向上的2-路歸併排序。

程式設計環境:vim

核心**:

void merge_sort_my(data *arr, int l, int r)

}merge_sort_my(arr, l, mid);

merge_sort_my(arr, mid + 1, r);

data *temp = (data *)malloc((l + r) *sizeof(data));

int index1 = 0; //指向前面陣列的第乙個元素

int index2 = mid + 1; //指向後面陣列的第乙個元素

int k = 0; //temp陣列指標

插入排序與歸併排序

關於排序似乎從大一開始學習變成就開始在使用各種排序方法了,今天看了下有關於插入排序和歸併排序的內容,並且對應在leetcode 上面做了兩道測試題,因此就對插入排序和歸併排序做乙個簡單的小結吧,就當做是我的學習筆記,大佬請勿嘲笑!關於插入排序主要的思想就是從左到右的遍歷乙個序列,有乙個標識來標記,保...

插入排序 歸併排序

插入排序 define len 5 int a len void insertion sort void int i,j,k for j 1 j len j k a j i j 1 while i 0 a i k a i 1 a i i a i 1 k 歸併排序 int a 8 void merge...

插入排序 歸併排序

演算法導論初涉,第一講練習內容 include define n 6 int a n void init 初始化陣列 a i 1 k void output int a,int n void merge int low,int mid,int high while s mid b i a s whi...