程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言:編寫一個折半查找函數

C語言:編寫一個折半查找函數

編輯:關於C語言

C語言:編寫一個折半查找函數


/*先把中間元素找到,尋找的元素在中間元素左邊,
則小於中間元素,改變right。
再繼續折半找中間元素尋找*/
#include<stdio.h>
#include<string.h>
int zheban(int x,char arr[],int left,int right)
{
 while(left<=right)
 {
  int mid=left-(left-right)/2;
  if(x > arr[mid])
  {
   left=mid+1; 
  } 
  else if(x < arr[mid])
  {
   right=mid-1;
  }
  else
  {
   return 1;
  }
 }
 return 0;
}
int main()
{
 int mid=0;
 char arr[]={1,3,4,6,7,8,56,67,78};
 int ret=0;
 int size=0;
 int num=0;
 size=strlen(arr);
 ret=zheban(5,arr,0,size-1);
 if(ret==0)
 {
  printf("not exsit");
 }
 else
 {
  printf("%d",arr[mid]);
 }
 return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved