- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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;
}
您可能关注的文档
最近下载
- 最新2023版知识产权贯标GBT29490 09知识产权维护运用控制程序(含表单)[知识产权合规管理体系文件].docx
- 煤矿合法股权转让协议9篇.docx VIP
- GB_T 9711-2023石油天然气工业 管线输送系统用钢管.doc VIP
- 导体结构设计.xls VIP
- 电梯安全风险管控清单.doc VIP
- 生殖医学中心专业技术人员考核试题及答案.docx VIP
- 2024年度健康体检大数据蓝皮书.pdf
- 部编版语文六年级上册第四单元教案+教学反思(共6篇).pdf VIP
- 球墨铸铁管与其它管材的连接件技术规范.docx VIP
- NB∕T 11273-2023 工业锅炉设计文件鉴定技术导则.pdf
文档评论(0)