资源描述:
《顺序表的查找实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、#include"stdio.h"#include"stdlib.h"#defineMaxSize100#defineIndexSize20typedefintKeyType;typedefstruct{KeyTypekey;}DataType;typedefstruct{DataTypelist[MaxSize];intlength;}SSTable;typedefstruct{KeyTypemaxkey;intindex;}IndexTable[IndexSize];intSeqSearch(SSTableS,DataTypex){inti=0;while(i
2、3、].key>x.key)high=mid-1;}return0;}intSeqIndexSearch(SSTableS,IndexTableT,intm,DataTypex){inti,j,b1;for(i=0;i=x.key)break;if(i>=m)return0;j=T[i].index;if(i4、nj+1;elsej++;return0;}voidmain(){SSTableS1={{123,23,34,6,8,355,32,67},8};SSTableS2={{11,23,32,35,39,41,45,67},8};SSTableS3={{6,12,23,16,21,19,41,32,37,35,29,46,49,47,52,61,59,76,68,72},20};IndexTableT={{23,0},{41,5},{52,10},{76,15}};DataTypex={32};intpos;if((pos=SeqSearch(S1,x))!=0)pr
5、intf("顺序表的查找:关键字32在主表中的位置是:%2d",pos);elseprintf("查找失败");if((BinarySearch(S2,x))!=0)printf("折半查找:关键字32在主表中的位置是:%2d",pos);elseprintf("查找失败");if((SeqIndexSearch(S3,T,4,x))!=0)printf("索引顺序表的查找:关键字32在主表中的位置是:%2d",pos);elseprintf("查找失败");}