顺序表的基本操作_第1页
顺序表的基本操作_第2页
顺序表的基本操作_第3页
顺序表的基本操作_第4页
顺序表的基本操作_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、.20 12 20 13 学年 第 二 学期专 业 物联网工程 班 级 1201 学 号 3128117136 姓 名 王悦瑶 日 期 第一页实验题目实验一 顺序表的应用实验目的1、掌握用上机调试线性表的基本方法;2、利用顺序表数据结构设计算法与程序实现。2、掌握线性表的基本操作,插入、删除、查找,以及线性表合并等运算在顺序存储结构上的运算。实验内容与步骤注:1、请详细记录实验过程与步骤。2、软件类实验允许粘贴实验运行截图三、实验内容 顺序表的基本操作实现:1、 创建一个顺序表;2、 输出该顺序表;3、 在顺序表中查找第i个元素,并返回其值;4、 在顺序表中第i个元素前插入一已知元素;5、 在

2、顺序表中删除第i个元素;6、 实现顺序表的合并。四、实验步骤1、 本实验的程序清单如下。#include#include#define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef struct int * elem; int length; int listsize;SqList;/SqList sq;void InitList_Sq(SqList *sq) /初始化列表 sq-elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int); sq-length=0; sq-listsize=LIST_INIT

3、_SIZE; printf(-申请空间成功-!n); void visit(SqList *sq)/输出数据 int i=1; for(;ilength;i+) int *p; p=&sq-elemi-1; printf(%d,*p); printf( ); void GetElem(SqList *sq,int i)/获取第i位置元素的值 int *p; p=&(sq-elemi-1); printf(%d,*p); printf(n); int ListInsert_Sq(SqList *sq,int i,int a)/在i位置之前插入a int *p,*q; if(isq-length+

4、1) printf(-位置不合法-!n); return 0; 实验内容与步骤if(sq-length=sq-listsize) int* newbase=(int *)realloc(sq-elem,(sq-listsize+LISTINCREMENT)*sizeof(int); if(!newbase) printf(申请空间溢出n); return 0; sq-elem=newbase; sq-listsize+=LISTINCREMENT; p=&(sq-elemi-1);/p指向第i位置的元素 q=&(sq-elemsq-length-1);/q指向最后一个元素 for(;q=p;-

5、q) *(q+1)=*q; *p=a; +sq-length; return 1; int ListDelete_Sq(SqList *sq,int i) /删除i位置上的值 int *p,*q; if(isq-length) return 0; p=&(sq-elemi-1);/p指向第i位置的元素 q=&(sq-elemsq-length-1);/q指向最后一个元素 for(+p;plength; return 1;void main() int i=1,a=0,boo=1,number=0; SqList s,*sq; sq=&s; InitList_Sq(sq); printf(初始化

6、空表n); printf(输入数据个数:n); scanf(%d,&number); sq-length=number; printf(输入%d个数据:,number); printf(n); for(;ielemi-1); printf(输出所有元素n); visit(sq); printf(n); printf(输出要显示数据的位置:); scanf(%d,&a); printf(输出%d位置数值n,a); if(asq-length) printf(-输出位置的数据不存在-n); else GetElem(sq,a); printf(输入要插入数据的位置:); scanf(%d,&i);

7、 printf(输入要插入的数据:); scanf(%d,&a); ListInsert_Sq(sq,i,a) ; printf(输出所有元素:n); visit(sq); printf(输出删除的位置:); scanf(%d,&a); if(boo=ListDelete_Sq(sq,a) printf(-数据删除成功!-n); else printf(-没有删除成功-n); printf(输出所有元素:n); visit(sq); printf(n); 实验内容与步骤scanf(%d,&a); if(boo=ListDelete_Sq(sq,a) printf(-数据删除成功!-n); else printf(-没有删除成功-n); printf(输出所有元素:n); visit(sq); printf(n); 2、 本程序运行的结果如下:

温馨提示

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

评论

0/150

提交评论