插入排序原始碼:
1 #include 2 #include 3view code4using
namespace
std;56
void insert_sort(inta)7
17 a[i+1]=key;18}
19}2021
intmain()
22
逆序輸出:
1 #include 2 #include 3view code4using
namespace
std;56
void insert_sort(inta)7
17 a[i+1]=key;18}
19}2021
intmain()
22
分治法:合併排序
對於兩堆以排好序的,最底層的執行邏輯:
1 #include 2 #include 3view code#define inf 1e9
4using
namespace
std;56
void merge_sort(int a,int p,int q,intr)7
26else
2731}32
}333435
intmain()
36
一般性原始碼:
1 #include 2 #include 3view code4#define inf 1e956
using
namespace
std;78
void merge_sort(int a,int p,int q,intr)9
28else
2933}34
}3536void merge_sort(int a,int p,int
r)37
4546
intmain()
47
不設定哨兵
1 #include 2 #include 345view codeusing
namespace
std;67
void merge_sort(int a,int p,int q,intr)8
27else
2832}33
if(i==n1)
3439}40
if(j==n2)
4146}47
}4849void merge_sort(int a,int p,int
r)50
5859
intmain()
60
利用歸併排序求逆序數
1 #include 2 #include 3view code#define inf 1e945
using
namespace
std;
6int
cnt;78
void merge_sort(int a,int p,int q,intr)9
29else
3035}36
}3738void merge_sort(int a,int p,int
r)39
4748
intmain()
49
演算法導論 第二章作業
作業2.1 2 template void insert t a,int n a i 1 key 2.1 3 template void find t a,int n,t v if i 1 v nil 迴圈不變式 初始化 i 1,v還沒和任何a陣列中的元素比較,所以是 1,它為真。保持 如果j迴圈到...
演算法導論第二章筆記
這一章首先以乙個插入排序演算法開始,以此為切入點分析演算法。書上以偽 來介紹演算法,但是在這裡我基本上會用c語言實現一遍,並用自己的語言複述一遍演算法的思想。首先附上插入排序的具體實現。void insert sort eletype arr int start int end arr j 1 te...
演算法導論第二章 練習2 1 4
二進位制相加問題 題幹書上有,此處省略!分析 此處貼上 僅供參考 includevoid line int number1,int number2,int number3 int main void int number2 10 int number3 11 line number1,number2...