顺序表的查找实现.doc

上传人:罗晋 文档编号:9074367 上传时间:2021-02-01 格式:DOC 页数:3 大小:61KB
返回 下载 相关 举报
顺序表的查找实现.doc_第1页
第1页 / 共3页
顺序表的查找实现.doc_第2页
第2页 / 共3页
顺序表的查找实现.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《顺序表的查找实现.doc》由会员分享,可在线阅读,更多相关《顺序表的查找实现.doc(3页珍藏版)》请在三一文库上搜索。

1、#include stdio.h#includestdlib.h#define MaxSize 100#define IndexSize 20typedef int KeyType;typedef structKeyType key;DataType;typedef structDataType listMaxSize;int length;SSTable;typedef structKeyType maxkey;int index;IndexTableIndexSize;int SeqSearch(SSTable S,DataType x)int i=0;while(iS.length&S.

2、listi.key!=x.key)i+;if(S.listi.key=x.key)return i+1;elsereturn 0; int BinarySearch(SSTable S,DataType x)int low,high,mid;low=0,high=S.length-1;while(low=high)mid=(low+high)/2;if(S.listmid.key=x.key)return mid+1;else if(S.listmid.keyx.key)high=mid-1;return 0;int SeqIndexSearch(SSTable S,IndexTable T,

3、int m,DataType x)int i,j,b1;for(i=0;i=x.key)break;if(i=m)return 0;j=Ti.index;if(im-1)b1=Ti+1.index-Ti.index;elseb1=S.length-Ti.index;while(jTi.index+b1)if(S.listj.key=x.key)return j+1;elsej+;return 0;void main()SSTable S1=123,23,34,6,8,355,32,67,8;SSTable S2=11,23,32,35,39,41,45,67,8;SSTable S3=6,12

4、,23,16,21,19,41,32,37,35,29,46,49,47,52,61,59,76,68,72,20;IndexTable T=23,0,41,5,52,10,76,15;DataType x=32;int pos;if(pos=SeqSearch(S1,x)!=0)printf(顺序表的查找: 关键字32在主表中的位置是: %2dn,pos);elseprintf(查找失败n);if(BinarySearch(S2,x)!=0)printf(折半查找: 关键字32在主表中的位置是: %2dn,pos);elseprintf(查找失败n);if(SeqIndexSearch(S3, T,4, x)!=0)printf(索引顺序表的查找: 关键字32在主表中的位置是: %2dn,pos);elseprintf(查找失败n);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1