收藏 分销(赏)

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

上传人:xrp****65 文档编号:7432645 上传时间:2025-01-04 格式:DOCX 页数:5 大小:17.76KB
下载 相关 举报
数据结构之顺序表元素查找.docx_第1页
第1页 / 共5页
数据结构之顺序表元素查找.docx_第2页
第2页 / 共5页
点击查看更多>>
资源描述
数据结构--顺序表查找 #include<stdio.h> #include<stdlib.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;i<S->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;i<s->len;i++) {  for (j=i+1;j<s->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;k<S->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(t>S->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;k<L->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; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 应用文书 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服