📄 ex05-04.cpp
字号:
//EX05-04.cpp
#include <iostream.h> //cout,cin
#include <conio.h> // getch()
#include <stdlib.h> //random
const int N=20;
int search(int data[],int);
void main()
{ int ran[N],i,j,data;
char ch;
for (i=0;i<N;i++)
ran[i]=random(101); //get random data
for (i=0;i<N;i++) //sorting
for (j=0;j<N-i-1;j++)
if (ran[j]>ran[j+1])
{ int t=ran[j];
ran[j]=ran[j+1];
ran[j+1]=t;
}
cout << "Data as following:\n";
for (i=0;i<N;i++)
cout << ran[i]<<' ';
cout << endl;
do
{ cout << "Enter search data(0-100):";
cin >> data;
int find =search(ran,data);
if (find==-1)
cout << "Not found.\n";
else
cout << "Data at "<<find << " position.\n";
cout << "Search again?(y/n)";
cin >> ch;
}while (ch=='y' || ch=='Y');
}
int search(int data[],int key)
{ int L=0,M,R=N;
while (R>=L)
{ M = (L+R)/2;
if (key==data[M])
return M;
else
if (key>data[M])
L = M +1;
else R = M - 1;
}
return -1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -