1.顺序查找 时间复杂度(n)
)
#include <stdio.h>
int main(){
int arr[10] = {1,2,3,4,5,6,7,8,9,10}
int i=0;
int size = sizeof(arr[])/sizeof(arr[0]);
int m;
scanf("要查找%d",&m);
for(i=0;i<size;i++){
if(arr[i]==m)
printf("查找成功,元素位置为%d",i);
break;
}
if(i==size)
printf("查找失败");
}
2.折半查找 时间复杂度(log2n)
#include <stdio.h>
int main(){
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
int m;
scanf("输入查找元素%d",&m);
int low = 0; //指向靠前元素
int high = 9; //指向最后元素
int mid; //指向中间位置
while (low<=high){
mid = (low+high)/2;
if(arr[mid]<m)
low = mid+1;
else if(arr[mid]>m)
high = mid-1;
else if(arr[mid]=m)
printf("查找成功,元素位置为%d",mid);
break;
}
if(low>high)
printf("查找失败");
}