/*插入排序*/
#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(int start, int mid, int end)
int n1 = mid - start + 1;
int n2 = end - mid;
int left[n1], right[n2];
int i, j, k;
for(i = 0; i < n1; +i)
left[i] = a[start+i];
for(j = 0; j < n2; ++j)
right[j] = a[mid+1+j];
i = j = 0;
for(k = start; i < n1 && j < n2; ++k)
if(left[i] < right[j])
a[k] = left[i];
++i;
else
a[k] = right[j];
++j;
if (i < n1)
for(; i < ni; ++i)
a[k] = left[i];
++k;
if(j < n2)
for(; j < n2; ++j)
a[k] = right[j];
++k;
void sort(int start, int end)
int mid;
if(start < end)
mid = (start + end)/2;
sort(start, mid);
sort(mid+1, end);
merge(start, mid, end);
插入排序 歸併排序
演算法導論初涉,第一講練習內容 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...
插入排序 歸併排序
一直沒自己寫過 然後自己寫了下 其實我主要查的wikipedia 插入排序 歸併排序 先插排 插入排序 英語 insertion sort 是一種簡單直觀的 排序演算法 它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序 在實現上,通常採用in ...
插入排序與歸併排序
關於排序似乎從大一開始學習變成就開始在使用各種排序方法了,今天看了下有關於插入排序和歸併排序的內容,並且對應在leetcode 上面做了兩道測試題,因此就對插入排序和歸併排序做乙個簡單的小結吧,就當做是我的學習筆記,大佬請勿嘲笑!關於插入排序主要的思想就是從左到右的遍歷乙個序列,有乙個標識來標記,保...