数据结构之顺序表元素查找.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构之顺序表元素查找

数据结构--顺序表查找 #includestdio.h #includestdlib.h #define MAXSIZE 100 int ?data[MAXSIZE]; ? ? int ?len; typedef ?struct { ? ? ?int data[MAXSIZE]; ? ? ? ?int ?len; } SeqList; ? SeqList *Init_SeqList( ) ?{? ? SeqList *L; ? ? ?L=(SeqList*)malloc(sizeof(SeqList)); ? ? ?L-len= -1; ? ? ? ?return L; ?} //顺序查找 int SearchSeq(SeqList *S,int t) { ? ?int i; ? ?for(i=0;iS-len;i++) ? ?if(t==S-data[i]) ? ?{ ? ? return i; ? ? break; ? ?} ? ?if(i==S-len) ? ?return -1; } //对顺序表进行排序 SeqList *Sort(SeqList *S) {? int temp,i,j; for (i=0;is-len;i++) {? for (j=i+1;js-len;j++)? ? ? ? ? ? if(S-data[j]S-data[j+1]) ? ? ? ? ? {? ? ? ? ? ? ? ? temp=S-data[j];S-data[j]=S-data[j+1];S-data[j+1]=temp; ? ? ? ? ? } ? ? } for(int k=0;kS-len;k++) { printf(%d ,S-data[k]); } return S; } //折半查找 int SearchBin(SeqList *S ,int t) { int mid,low=0,high=S-len-1; ? while(low=high) ? { ?mid=(low+high)/2; ? ? ? if(t==S-data[mid]) return mid; ? ? ? else if(tS-data[mid]) low=mid+1; ? ? ? ? else high=mid-1; ? ?} ? ?return -1; }? int main() { ? SeqList *L=Init_SeqList(); ? int t1,t2,len,e; ? printf(请输入顺序表的长度); ? scanf(%d,L-len); ? printf(请输入顺序表中各元素:\n); ?getchar(); ? for(int k=0;kL-len;k++) ? { ? ?scanf(%d,e); ? ? ? L-data[k]=e; ? } ? printf(请输入要查找的数:\n); ? scanf(%d,t1); ? int m=SearchSeq(L,t1); ? if(m-1) ? printf(该查找的数顺序查找后在顺序表中的位置为%d:\n,m+1); ? else ?printf(该数没有找到\n); ? printf(排序之后的顺序表); ? SeqList*S=Sort(L); ? ?printf(请输入要查找的数:\n); ? scanf(%d,t2); ? ?int s=SearchBin(S ,t2); ? if(s-1) ? printf(该查找的数折半查找后在顺序表中的位置为%d:\n,s+1); ? else ?printf(该数没有找到\n); ? ? return 0; }

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档