下载此文档

顺序查找、直接查找、折半查找算法.doc


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
内蒙古科技大学题目:数据结构课程设计学生姓名:保祥学号:0865138236专业:信息管理与信息系统班级:信管2班指导教师:(1)插入元素操作:将新元素x插入到顺序表a中第i个位置。(2)删除元素操作:删除顺序表a中第i个元素。操作代码如下:#include<>#defineMAX20typedefintdatatype;typedefstruct{datatypedata[MAX];intlist;}sequenlist;/*顺序表*/intmain(){intinsert(sequenlist*L,intx,inti);intdeletee(sequenlist*L,inti);intinput(sequenlist*L);/intoutput(sequenlist*L);sequenlists,*p=&s;intindata,inlocate,deletedx;input(p);printf("请输入要插入的数:");scanf("%d",&indata);printf("请输入要插入的位置:");scanf("%d",&inlocate);insert(p,indata,inlocate);printf("插入后的数据:");output(p);printf("请输入要删除的位置:");scanf("%d",&deletedx);deletee(p,deletedx);printf("删除后的数据:");output(p);return0;}intoutput(sequenlist*L){inti;for(i=0;i<=L->list;i++)printf("%d",L->data[i]);printf("\n\n");return(1);}intinput(sequenlist*L){inti;printf("请输入原始数据个数:");scanf("%d",&(L->list));L->list--;printf("请输入原始数据:");for(i=0;i<=L->list;i++)scanf("%d",&(L->data[i]));printf("原始数据为:");output(L);return(1);}intinsert(sequenlist*L,intx,inti){intj;if(((*L).list)>=MAX-1){printf("overflow");return0;}else{if((i<1)||(i>((*L).list)+1)){printf("error");return0;}else{for(j=L->list;j>=i-1;j--)L->data[j+1]=L->data[j];L->data[i-1]=x;L->list++;}}return(1);}intdeletee(sequenlist*L,inti)/*定义删除函数*/{intj;if((i<1)||(i>(L->list)+1)){printf("error");return0;}else{for(j=i;j<=L->list;j++)L->data[j-1]=L->data[j];L->list--;}return(1);}图一二、单链表的操作 (1)创建一个带头结点的单链表;(2)插入元素操作:将新元素x插入到单链表中第i个元素之后;(3)删除元素操作:删除单链表中值为x的元素;代码如下:#include<>#include<>typedefstructnode//定义链表{intdata;structnode*next;}snode;snode*creat()//创建链表的函数{snode*head,*p,*q;head=(snode*)malloc(sizeof(snode));p=head;intx;printf("请输入创建链表的值,用-1结束输入");printf("x=");scanf("%d",&x);while(x!=-1){q=(snode*)malloc(sizeof(snode));q->data=x;p->next=q;p=q;printf("x=");scanf("%d",&x);}p->next=NULL;returnhead;}intlength(snode*head)//测链表的结点数{inti=0;snode*p=head->next;while(p!=NULL){p=p->next;i++;}returni;}voiddisplay(snode*head){snode*p=head->next;for(inti=0;i<length(head);i++){printf("%4d",p->data);p=p->next;}p

顺序查找、直接查找、折半查找算法 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人allap
  • 文件大小269 KB
  • 时间2020-07-04