8.2顺序表的查找
8.2.2二分查找
1 #define _CRT_SECURE_NO_WARNINGS 2 3 #include<stdio.h> 4 #include<stdlib.h> 5 6 main() 7 { 8 int a[1024]; 9 int i; 10 11 for (i = 0;i < 1024;i++) 12 { 13 a[i] = i; 14 } 15 16 int num = 998; 17 int shang = 0; 18 int xia = 1023; 19 int zhong; 20 int flag = 0; 21 22 while (shang <= xia) 23 { 24 zhong = (shang + xia) / 2; 25 printf("shang=%d,zhong=%d,xia=%d ", shang, zhong, xia); 26 27 if (num == a[zhong]) 28 { 29 flag = 1; 30 break; 31 } 32 else if (num>a[zhong]) 33 { 34 shang = zhong + 1; 35 } 36 else 37 { 38 xia = zhong - 1; 39 } 40 } 41 42 if (flag == 1) 43 { 44 printf("找到 "); 45 } 46 else 47 { 48 printf("没有找到 "); 49 } 50 51 system("pause"); 52 }