1. 程式人生 > 其它 >用C語言折半查詢一個數的位置

用C語言折半查詢一個數的位置

技術標籤:c語言

用C語言折半查詢一個數的位置

#include<stdio.h>
int main()
{
	int arr[]={3,5,6,9,12,15,17,19,20,25};
	int key;
	scanf("%d",&key);//輸入查詢的元素
	int low=0;
	int high=(sizeof(arr)/sizeof(arr[0]))-1;//陣列最後一個元素的地址
	int mid;//陣列中間元素的地址
	while(low<=high)
	{
		mid=(high+low)/2;
		if(arr[mid]==key)           
		{
printf("找到了%d",mid); return 0; } else if(arr[mid]<key)//在右邊 { low=mid+1; } else { high=mid-1; } } return 0; }

程式碼執行如下:
在這裡插入圖片描述

找到5的位置在一號位置