}
程序运行输出:
排序前的数据:
1357911131517192468101214161820
开始排序...
3579111315171924681012141618201
5791113151719346810121416182021
7911131517195468101214161820321
9111315171975681012141618204321
1113151719976810121416182054321
1315171911978101214161820654321
1517191311981012141618207654321
1719151311910121416182087654321
1917151311101214161820987654321
1917151311121416182010987654321
1917151312141618201110987654321
1917151314161820121110987654321
1917151416182013121110987654321
1917151618201413121110987654321
1917161820151413121110987654321
1917182016151413121110987654321
1918201716151413121110987654321
1920181716151413121110987654321
2019181716151413121110987654321
排序后的数据:
2019181716151413121110987654321
10-8简单说明顺序查找的算法思想。
解:
顺序查找是一种最简单、最基本的查找方法。
其基本思想是:
从数组的首元素开始,逐个元素与待查找的关键字进行比较,直到找到相等的。
若整个数组中没有与待查找关键字相等的元素,就是查找不成功。
10-9
初始化整型数组data1[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20},提示用户输入一个数字,调用教材中的顺序查找函数模板找出它的位置。
解:
#include
template
intSeqSearch(Tlist[],intn,Tkey)
{
for(inti=0;iif(list[i]==key)
returni;
return-1;
}
voidmain()
{
inti,n;
intdata1[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20};
cout<<"输入想查找的数字(1~20):
";
cin>>n;
cout<<"数据为:
"<for(i=0;i<20;i++)
cout<cout<i=SeqSearch(data1,20,n);
if(i<0)
cout<<"没有找到数字"<else
cout<}
程序运行输出:
输入想查找的数字(1~20):
6
数据为:
1357911131517192468101214161820
6是第13个数字
10-10简单说明折半查找的算法思想。
解:
如果是在一个元素排列有序的数组中进行查找,可以采用折半查找方法。
折半查找方法的基本思想是:
对于已按关键字排序的序列,经过一次比较,可将序列分割成两部分,然后只在有可能包含待查元素的一部分中继续查找,并根据试探结果继续分割,逐步缩小查找范围,直至找到或找不到为止。
10-11
初始化整型数组data1[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20},提示用户输入