




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件基础基础实验报告系别:地质工程系 班级:09测绘 学号:0910205006 姓名:严康文 实验时间: 实验地点:网教中心实验环境: vc6.0实验名称:线性表的查找算法实验目的:(1) 掌握线性表的顺序查找算法(2) 掌握有序表的折半查找算法实验内容:在顺序存储的长度为n的线性表中顺序查找元素x在表中的下标。备注:需要用到的算法是:serch( )在头指针为head的线性链表中顺序查找元素x的存储序号。 备注:需要用到的算法是:lserch( )在顺序存储的长度为n的线性表中对分查找元素x在表中的下标。 备注:需要用到的算法是:bserch()程序代码:#includestdio.h#includestdlib.hvoid input(int *v,int *n) int i; printf(请输入%d元素到线性表n,*n); for(i=0;i*n;i+) scanf(%d,v+i);printf(n请输入下一个元素到线性表n); printf(输入完成,停止输入n);void output(int *v,int *n)int i; for(i=0;i*n-1) i=*n+1; if(i=i;j-) vj=vj-1; vi-1=b; *n=*n+1; return;void desl(int *v,int m,int *n,int i)int j; if(*n=0)printf(underflown);return;if(i*n) printf(not this element is inn);return;for(j=i;j=*n-1;j+)vj-1=vj;*n=*n-1;return;void menu()printf(*请选择需要操作*n);printf(*进行插入请选择1*n);printf(*进行删除请选择2*n);printf(*查找请选择3*n);printf(*对分查找请选择4*n);printf(*退出请选择5*n);return;void bserch(int*v,int *n,int x) int i,j,k; i=1;j=*n; while(ix) j=k-1; else i=k+1; if(k!=-1) printf(被查找的元素序数是%dn,k);else printf(not foundedn);void serch(int*v,int *n,int x)int k=0; while(k0)*n=*n+1;p=(struct node *)malloc(sizeof(struct node);p-d=x;p-next=NULL;if(head=NULL)head=(struct node *)malloc(sizeof(struct node); head=p;else q-next=p;q=p;scanf(%d,&x);return head;void output(struct node *head,int *n) struct node *p; p=head; while(p!=NULL) printf(%5d,p-d); p=p-next;struct node *lookst(struct node *head,int x) struct node *p; p=head; while(p-next!=NULL)&(p-next)-d)!=x) p=p-next; return(p);struct node * inslst(struct node *head,int x,int b,int *n)struct node *p,*q;p=(struct node *)malloc(sizeof(struct node);p-d=b;if(head=NULL)head=p;p-next=NULL;return head;if(head-d=x)p-next=head;head=p;return head;q=lookst(head,x);p-next=q-next;q-next=p;*n=*n+1;return head;struct node * delst(struct node *head,int x ,int *n)struct node *p,*q;if(head=NULL)printf(this is an empty list!n);return head;if(head-d)=x)p=head-next;free(head);head=p;return head;q=lookst(head,x);if(q-next=NULL)printf(no this node in the list!n); return head;p=q-next;q-next=p-next ;free(p);*n=*n-1;return head;void menu1()printf(*请选择您所要进行的操作*n!新建建立线性表*1n!退出*2n);void menu2()printf(*请选择需要操作*n);printf(*进行插入请选择3*n);printf(*进行删除请选择4*n);printf(*查找请选择5*n);printf(*退出请选择6*n);void lserch(struct node *head,int x)struct node *p;int k=0;p=head;while(p!=NULL)&(p-d!=x)k+;p=p-next;if(p=NULL) k=-1;if(k!=-1) printf(被查找的元素序数是%dn,k+1);else printf(not foundedn);void main()int *n,b,x,j,k;struct node *head;head=NULL;n=NULL;n=(int *)malloc(sizeof(int);*n=0;printf(*您好!欢迎您使用这款软件。*n 本软件是由严康文开发出来的,版权所用,翻版必究!n 本软件是用于实现线性表的删除与插入运算,操作界面简单,人性化适用于数据库的建立,插入与删除n);menu1();scanf(%d,&j);if(j=1)printf(现在开始建立一个线性表n);printf(请输入元素到线性链表中:);head=input(head,n);printf(线性表中的元素是:);output(head,n);menu2();scanf(%d,&k);while(k!=6)if(k=3) printf(n现在请输入要插入的元素:);scanf(%d,&b);printf(n请输入在那个元素前插入:);scanf(%d,&x);inslst(head,x,b,n);output(head,n);else if(k=4) printf(n现在请您输入要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识产权趣味培训课件
- 知识产权贯标培训北京课件
- 知识产权讲座培训心得课件
- 知识产权申报培训书籍课件
- 知识产权普法培训内容课件
- 跨学科教学课件
- 知识产权就业培训课件
- 正定辅警考试题库2025(有答案)
- 2025年消费与零售市场消费者行为变化趋势分析
- 2025年绿色建筑认证体系在绿色建筑智能化控制中的应用报告
- 古诗三首《书湖阴先生壁》(说课课件)部编版语文六年级上册
- 啤酒代理转让合同范本
- GB/T 9869.1-2025橡胶用硫化仪测定硫化特性第1部分:介绍
- 初级出版专业技术人员职业资格必考题含答案2025年
- 土地秸秆粉碎合同协议
- 茶叶加工工职业技能竞赛参考试题(附答案)
- 上门按摩加盟合同协议
- 统编版道德与法治四年级上册全册大单元整体教学设计
- 2025年全国大学生百科知识竞赛题库及答案(370题)
- 矿物加工工程专业英语词汇
- 2025年乡村全科助理医师考试真题及答案
评论
0/150
提交评论