折半查找

来源:互联网 发布:如何美化java做的界面 编辑:程序博客网 时间:2024/06/13 06:04
<span style="font-size:18px;">#include<iostream>using namespace std;int main(){int i, j, t, n = 0, num;int a[10];for (i = 0; i < 10; i++){cout << "a[" << i << "]=" << endl;cin >> a[i];}//对数组进行排序for (i = 0; i < 9; i++){for (j = 0; j < 9-i; j++){if (a[j]>a[j + 1]){t = a[j];a[j] = a[j + 1];a[j + 1] = t;}}}cout << "输入查找的元素" << endl;cin >> num;cout << "输出数组" << endl;for (i = 0; i < 10; i++){cout << a[i] << "\t";if ((i+1) % 3 == 0)cout << endl;}int left = 0, right = 9, mid;while (left < right){mid = (left + right) / 2;if (a[mid] == num){cout << "要查找的元素是" << endl;cout << "a[" << i << "]=" << num << endl;n++;}if (a[mid] < num){left = mid + 1;}else{right = mid - 1;}}if (n == 0)cout << "没查到元素" << endl;return 0;}</span>

0 0