您所在位置: 网站首页 / 文档列表 / 实验设计 / 文档详情
实验二 顺序表实验.doc 立即下载
上传人:yy****24 上传时间:2024-09-08 格式:DOC 页数:5 大小:59KB 金币:12 举报 版权申诉
预览加载中,请您耐心等待几秒...

实验二 顺序表实验.doc

实验二顺序表实验.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

12 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验二顺序表实验【实验目的】(1)掌握顺序表的存储结构及应用。(2)掌握用顺序表表示数据、并进行有关算法设计的方法。【实验背景】顺序表中,逻辑上相邻的节点其物理存储位置也相邻,节点间的逻辑关系由存储单元的邻接关系来体现。我们可以用数组存储表中元素,并同时记录顺序表中的最后一个元素在数组中的下标。用C语言描述顺序表的数据类型如下:#definemaxlen100typedefstruct{Datatypedata[maxlen];intlast;}Sequenlist;这样,顺序表的基本运算分别描述为:1置空表运算voidSqLsetnull(Sequenlist*L){L->last=-1;}2建空表运算Sequenlist*SqLsetnull(){Sequenlist*L;L=malloc(sizeof(Sequenlist));L->last=-1;return(L);}3求表长运算intSqLlength(Sequenlist*L){return(L->last+1);}4按序号取元素运算DatatypeSqLget(Sequenlist*L,inti){Datatypex;if(i<1||i>SqLlength(L))printf(“超出范围”);elsex=L->data[i–1];return(x);}5按值查找运算voidSqLlocate(Sequenlist*L,Datatypex){inti,z=0;for(i=0;i<SqLlength(L);i++)if(L->data[i]==x){printf(“%d”,i+1);z=1;}if(z==0)printf(“%d”,-1);}6判表满运算intSqLempty(Sequenlist*L){if(L->last+1>=maxlen)return(1);elsereturn(0);}7插入数据元素运算intSqLinsert(Sequenlist*L,inti,Datatypex){intj;if(SqLempty(L)==1){printf(“overflow”);return(0);}elseif((i<1)||(i>L->last+2)){printf(“error”);return(0);}else{for(j=L->last;j>=i–1;j--)L->data[j+1]=L->data[j];L->data[i–1]=x;L->last=L->last+1;return(1);}}在该算法中,i是顺序表中数据元素的序号,而L->last表示表中最后一个数据元素在数组中的下标。8删除数据元素运算intSqLdelete(Sequenlist*L,inti){intj;if(L->last<0){//表空printf(“顺序表空!”);return(0);}elseif((i<1)||(i>L->last+1)){printf(“i参数出错!”);return(0);}else{for(j=i;j<=L->last+1;j++)L->data[j-1]=L->data[j];L->last--;return(1);}}该算法中i是顺序表中数据元素的序号,而L->last表示表中最后一个数据元素在数组中的下标,表长n=L->last+1。【实验任务】1、程序验证(1)建立含有若干个元素的顺序表,并实现顺序表的插入、删除、查找等操作。(2)阅读下列程序,指出算法的功能,写出其运行结果,并通过运行来验证。#include“malloc.h”#definemaxlen50typedefstruct{intdata[maxlen];intlast;}Sequenlist;Sequenlist*ABC(Sequenlist*A,Sequenlist*B){inti,j;Sequenlist*C;C=malloc(sizeof(Sequenlist));C->last=-1;for(i=0;i<=A->last;i++)for(j=0;j<=B->last;j++){if(A->data[i]==B->data[j]){C->last++;C->data[C->last]=A->data[i];break;}returnC;}Sequenlist*SqLset(){Sequenlist*L;inti;L=malloc(sizeof(Sequenlist));L->last=-1;scanf(“%d”,&i)
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

实验二 顺序表实验

文档大小:59KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用

手机号注册 用户名注册
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
我已阅读并接受《用户协议》《隐私政策》
已有账号?立即登录
登录
手机号登录 微信扫码登录
微信扫一扫登录 账号密码登录

首次登录需关注“豆柴文库”公众号

新用户注册
VIP会员(1亿+VIP文档免费下)
年会员
99.0
¥199.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用