实验5 查找算法实验目的1) 掌握有序表、无序表查找的基本思想及存储、运算的实现2) 深刻理解多个算法的特点,并加以灵活应用3)加深对查找的理解,逐步培养解决实际问题的编程能力实验环境1) 硬件:每个学生需配备计算机一台,操作系统:Windows/XP
;2) 软件:visual c++6
实验学时3 学时实验内容1)建立一种无序表并实现其上的次序查找;2)建立一种有序表并实现其上的折半查找(用递归和非递归两种算法实现);实验代码简朴排序查找:/* Note:Your choice is C IDE */#include "stdio
h"void main(){ int i,a[10],n=1,b,h; printf("请输入10个数字,*号结束:\n"); for(i=0;iyxb[mid]) {a=mid+1;}else {b=mid-1;}}if((b-a)==1){if(yxb[a]==c) { return a;}else if(yxb[b]==c) { return b;}else return -1;}}void main(){ int yxb[10]={1,2,6,12,21,22,32,36,40,46}; int c,i,mm; for(i=0;iyxb[mid]) { a=mid+1;}else b=mid-1;A=b-a;if(A>1){ eff(c,yxb);}else {if(yxb[a]==c) { return a;}else if(yxb[b]==c) { return b;}else return -1;}}void main(){ int yxb[10]={1,2,6,12,21,22,32,36,40,46}; int c,i,mm; for(i=0;i