純C語言:折半查找源碼分享
更新時間:2014年01月06日 16:15:26 作者:
這篇文章主要介紹了純C語言:折半查找源碼,有需要的朋友可以參考一下
復制代碼 代碼如下:
#include <stdio.h>
int bin_search(int key[],int low, int high,int k)
{
int mid;
if(low>high)
{
return -1;
}
else
{
mid = (low+high) / 2;
if(key[mid]==k)
return mid;
if(k>key[mid])
return bin_search(key,mid+1,high,k); /*在序列的后半部分查找*/
else
return bin_search(key,low,mid-1,k); /*在序列的前半部分查找*/
}
}
int main()
{
int n , i , addr;
int A[10] = {2,3,5,7,8,10,12,15,19,21};
printf("The contents of the Array A[10] are\n");
for(i=0;i<10;i++)
printf("%d ",A[i]); /*顯示數(shù)組A中的內容*/
printf("\nPlease input a interger for search\n");
scanf("%d",&n); /*輸入待查找的元素*/
addr = bin_search(A,0,9,n);
if(-1 != addr) /*查找成功*/
{
printf("%d is at the %dth unit is array A\n ",n,addr);
}
else
{
printf("There is no %d in array A\n",n); /*查找失敗*/
}
getchar();
return 0;
}
相關文章
C++實現(xiàn)LeetCode(146.近最少使用頁面置換緩存器)
這篇文章主要介紹了C++實現(xiàn)LeetCode(146.近最少使用頁面置換緩存器),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下2021-07-07
如何使用C語言實現(xiàn)平衡二叉樹數(shù)據結構算法
對于判斷是否為平衡二叉樹而言,我們需要知道以下特性:是一個二叉樹也是一個二叉排序樹該樹的每個結點上的(深度)左子樹 - 右子樹的值為平衡因子(BF(Balance Factor))該樹的每一個節(jié)點的左子樹和右子樹的高度至多等于1(平衡因子只可能是-1,0,1)2021-08-08
C++ 中l(wèi)ambda表達式的編譯器實現(xiàn)原理
C++ 11加入了一個非常重要的特性——Lambda表達式。這篇文章主要介紹了C++ 中l(wèi)ambda表達式的編譯器實現(xiàn)原理,需要的朋友可以參考下2017-02-02

