diff --git "a/ZJU_MOOC_\346\225\260\346\215\256\347\273\223\346\236\204/01-\345\244\215\346\235\202\345\272\2463 \344\272\214\345\210\206\346\237\245\346\211\276 (20 \345\210\206).c" "b/ZJU_MOOC_\346\225\260\346\215\256\347\273\223\346\236\204/01-\345\244\215\346\235\202\345\272\2463 \344\272\214\345\210\206\346\237\245\346\211\276 (20 \345\210\206).c" new file mode 100644 index 0000000..34cdb62 --- /dev/null +++ "b/ZJU_MOOC_\346\225\260\346\215\256\347\273\223\346\236\204/01-\345\244\215\346\235\202\345\272\2463 \344\272\214\345\210\206\346\237\245\346\211\276 (20 \345\210\206).c" @@ -0,0 +1,21 @@ +Position BinarySearch( List L, ElementType X ){ + int p = 0; + int s = 1; + int e = L->Last; + int num = e/2; + while(num--){ + int mid = (s + e) / 2; + if(L->Data[mid] == X){ + p = mid; + break; + }else if(L->Data[mid] > X){ + e = mid - 1; + }else if(L->Data[mid] < X){ + s = mid + 1; + } + + } + if(p == 0) + return NotFound; + return p; +}