在公茂果老師的課件中,出現的好多具體的算法例子,這里,跟蹤給出,二分法查找的指定數字的代碼:
- 實現環境:VMware下的Ubuntu 17.4
- 編譯環境:自帶編譯器。
下面給出Ubuntu下,編譯環境的操作過程:
- 同時按下“ALT”+"CRTL"+"t",彈出終端界面
- 創建:命令 gedit main.c gedit為創建命令, 創建C文件,名稱為main
- 編輯:命令 gtouch main.c 彈出文本框,進行編輯
- 編譯:"ALT"+"F4"關掉文本框,進入終端界面,命令 gccmain.c 進行編譯,若無錯誤,會出現下一個命令提示符 g++是對C++文件的編譯
- 結果: ./a.out 即可查看
下面給出一個簡單二分法查找示例:
1 #include<stdio.h> 2 main() 3 { 4 int num[]={1,2,3,4,5,6,7,8,9,10}; 5 int left=0,right=9,a; 6 int find; 7 scanf("%d",&find); 8 while(left<right) 9 { 10 a=(left+right)/2; 11 if(num[a]==find) 12 { 13 printf("所找的數在第%d個",a+1); 14 break; 15 } 16 else if(find>num[a]) 17 left=a+1; 18 else 19 right=a-1; 20 } 21 if(left<right) 22 printf("沒有這個數"); 23 }