数据结构-顺序表的查找插入与删除_第1页
数据结构-顺序表的查找插入与删除_第2页
数据结构-顺序表的查找插入与删除_第3页
数据结构-顺序表的查找插入与删除_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据结构-顺序表的查找插入与删除PAGEPAGE1一、上机实验的问题和要求:顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现要求:从键盘输入10个整数,产生顺序表,并输入结点值。从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”。从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出顺序表所有结点值,观察输出结果。从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。二、源程序及注释:#include<stdio.h>#include<stdlib.h>/*顺序表的定义:*/#include<iostream.h>#defineListSize100 /*表空间大小可根据实际需要而定,这里假设为100*/typedefintDataType; /*DataType可以是任何相应的数据类型如int,float或char*/typedefstruct{ DataTypedata[ListSize]; /*向量data用于存放表结点*/ intlength; /*当前的表长度*/}SeqList;voidmain(){ SeqListL; inti,x; intn=10; /*欲建立的顺序表长度*/ L.length=0; voidCreateList(SeqList*L,intn); voidPrintList(SeqListL,intn); intLocateList(SeqListL,DataTypex); voidInsertList(SeqList*L,DataTypex,inti); voidDeleteList(SeqList*L,inti); CreateList(&L,n); /*建立顺序表*/ PrintList(L,n); /*打印顺序表*/ printf("输入要查找的值:"); scanf("%d",&x); i=LocateList(L,x); /*顺序表查找*/ printf("输入要插入的位置:"); scanf("%d",&i); printf("输入要插入的元素:");数据结构-顺序表的查找插入与删除全文共4页,当前为第1页。 scanf("%d",&x);数据结构-顺序表的查找插入与删除全文共4页,当前为第1页。 InsertList(&L,x,i); /*顺序表插入*/ PrintList(L,n); /*打印顺序表*/ printf("输入要删除的位置:"); scanf("%d",&i); DeleteList(&L,i); /*顺序表删除*/ PrintList(L,n); /*打印顺序表*/}/*顺序表的建立:*/voidCreateList(SeqList*L,intn){ inti; for(i=0;i<n;i++) scanf("%d",&L->data[i]); L->length=n;}/*顺序表的打印:*/voidPrintList(SeqListL,intn){ inti; for(i=0;i<L.length;i++) cout<<L.data[i]<<endl;}/*顺序表的查找:*/intLocateList(SeqListL,DataTypex){inti=0;while(i<L.length&&L.data[i]!=x)++i;if(i<L.length)returni+1;elsereturn0;}/*顺序表的插入:*/voidInsertList(SeqList*L,DataTypex,inti){ intj; if(i<1||i>L->length+1) { printf("插入位置非法\n");数据结构-顺序表的查找插入与删除全文共4页,当前为第2页。数据结构-顺序表的查找插入与删除全文共4页,当前为第2页。 } if(L->length>=ListSize) { printf("表空间溢出,退出运行\n"); exit(0);} for(j=L->length-1;j>=i-1;j--) L->data[j+1]=L->data[j]; L->data[i-1]=x; L->length++;}/*顺序表的删除:*/voidDeleteList(SeqList*L,inti){ intj; if(L->length==0) { printf("现行表为空,退出运行\n"); exit(0); } if(i<1||i>L->length) { printf("删除位置非法\n"); exit(0); } for(j=i;j<=L->length-1;j++) L->data[j-1]=L->data[j]; L->length--;数据结构-顺序表的查找

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论