bsort.c

来自「平时acm训练时ac的源代码」· C语言 代码 · 共 34 行

C
34
字号
#define MAXN 10000

int A[MAXN]={0,1,2,3,4,5,6,7,8,9};
int N=10;

void bs(int x)
{
  int p, q, i, L;

  p = 0;   /* Left border of the search  */
  q = N-1; /* Right border of the search */
  L = 0;   /* Comparison counter         */
  while (p <= q) {
    i = (p + q) / 2;
    ++L;
    if (A[i] == x) {
      printf("Found item i = %d"
        " in L = %d comparisons\n", i, L);
      return;
    }
    if (x < A[i])
      q = i - 1;
    else
      p = i + 1;
  }
}

main()
{
	int x;
	scanf("%d",&x);
	bs(x);
	getch();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?