//有序数折半查找(输入的数据需要从小到大,也可以随便输入数据但是需要先排序再查找) #include "stdafx.h" #include "iostream.h" int main(int argc, char* argv[]) { int i,m,a[4]; cout << "Please input Number:/n"; for( i = 0 ; i < 4 ; i++) { cout << "a[" << i <<"]="; cin >> a[i]; } cout << "输入要查找的数据:/n"; cin >> m; //输出数组 cout << "输出数组:/n"; for( i = 0 ; i < 4 ; i++) { cout << a[i] <<'/t'; if((i+1)%2==0) {cout << '/n';} } int left=0,right=3,n=0,mid; while(left < right) { mid = (left+right)/2; if(a[mid] == m) { cout << "要查找的元素是:/n"; cout << "a[" << mid << "]=" << m << '/n'; n++; } if(a[mid] < m) { left = mid +1; } else { right = mid -1; } if(n == 0) { cout << "要查找的元素不存在/n"; } } return 0; }
有序数折半查找
最新推荐文章于 2023-11-01 19:42:07 发布