c语言 最快的查找方式

Python017

c语言 最快的查找方式,第1张

1、最快的查找方式是:二分法查找。2、查找的线性表分:无序线性表、有序线性表、分块有序线性表。3、对无序线性表只能采用顺序查找,顺序查找的平均比较次数为(n+1)/24、对有序线性表可以采用二分查找,二分查找的比较次数为log2n5、对分块有序线性表可以采用分块法查找。C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

#include <stdio.h>//不用math头文件

void main()

{int high = 9,low = 0,m,k,a[10]={1,2,3,4,5,6,7,8,9,10}//hing和low赋初值

scanf("%d",&k)

while (high>=low)//>=

{

m=(high+low)/2

if(k<a[m]) high=m-1//比较的是数值而不是下标

else if(k>a[m]) low=m+1

else

{

printf("yes")

return//这两句地方放错了

}

}

printf("no")

return//if语句去掉

}

//dataList为数组,length为数组长度,k为待查数据

int BinSearch(int dataList[], int length, const int k)

{

int low = 1, high = length, mid//low,high分别记录数组首尾位置

while(low <= high)

{

mid = (low + high) / 2

if(k <dataList[mid])

hight = mid - 1//向左区间检索

else if(k >dataList[mid])

low = mid + 1//向右区间检索

else

return mid//检索成功,返回元素位置

}

return 0//检索失败,返回0

}