二分查找(未通过poj验证)

来源:互联网 发布:javascript保留字 编辑:程序博客网 时间:2024/06/06 02:50
#include <stdio.h>#define LENGTH 10000void swap(int* a,int x,int y){    if (x == y) return;    a[x] ^= a[y];a[y] ^= a[x];a[x] ^= a[y];}void print(int* a,int x,int y){    int i;    for (i = x; i < y+1; i++)        printf("%d ",a[i]);    printf("\n");}int binarySearch(int* a,int l,int r,int k){int mid;while(l <= r){mid = (l + r)/2;if(a[mid] == k)return mid;else if(a[mid] > k)r = mid - 1;elsel = mid + 1;}return -1;}int main(){int n = 10;    int a[LENGTH] = {1,3,5,5,8,13,15,16,23,31};    int k;    scanf("%d",&k);    printf("%d",binarySearch(a,0,n-1,k));    return 0;}

0 0
原创粉丝点击