02331_数据结构_第8章_查找

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 }
原文地址:https://www.cnblogs.com/denggelin/p/5492518.html