diff --git "a/2224020152/\347\254\254\344\271\235\345\215\225\345\205\203/\345\256\236\347\216\260\346\212\230\345\215\212\346\237\245\346\211\276\347\232\204\347\256\227\346\263\225.cpp" "b/2224020152/\347\254\254\344\271\235\345\215\225\345\205\203/\345\256\236\347\216\260\346\212\230\345\215\212\346\237\245\346\211\276\347\232\204\347\256\227\346\263\225.cpp" new file mode 100644 index 0000000000000000000000000000000000000000..fc14cb387c10e90446034652df85a5b358d04e62 --- /dev/null +++ "b/2224020152/\347\254\254\344\271\235\345\215\225\345\205\203/\345\256\236\347\216\260\346\212\230\345\215\212\346\237\245\346\211\276\347\232\204\347\256\227\346\263\225.cpp" @@ -0,0 +1,43 @@ +#include +#define MAXL 100 //定义表中最多记录个数 +typedef int KeyType; +typedef char InfoType[10]; +typedef struct +{ + KeyType key; + InfoType data; +} NodeType; +typedef NodeType SeqList[MAXL]; +int BinSearch(SeqList R,int n,KeyType k) +{ + int low=0,high=n-1,mid,count=0; + while (low<=high) + { + mid=(low+high)/2; + printf(" 第%d次比较:在[%d,%d]中比较元素R[%d]:%d\n",++count,low,high,mid,R[mid].key); + if (R[mid].key==k) + return mid; + if (R[mid].key>k) + high=mid-1; + else + low=mid+1; + } + return -1; +} +int main() +{ + SeqList R; + KeyType k=9; + int a[]={1,2,3,4,5,6,7,8,9,10},i,n=10; + for (i=0;i