收藏 分销(赏)

顺序表实验报告.doc

上传人:仙人****88 文档编号:9460934 上传时间:2025-03-27 格式:DOC 页数:5 大小:58.50KB 下载积分:10 金币
下载 相关 举报
顺序表实验报告.doc_第1页
第1页 / 共5页
顺序表实验报告.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
《数据结构》课程实验报告 实验名称 顺序表 实验序号 1 实验日期 姓 名 温云坤 院系 班 级 11软会四班 学 号 11231429 专 业 指导教师 吉宝玉 成 绩 教师评语 一、实验目的和要求 (1)理解线形表的逻辑结构特征 (2)理解并掌握顺序表 (3)了解顺序表的各种基本运算 二、实验项目摘要 编写一个程序algo2-1.cpp,实现顺序表的各种基本运算,并在此基础上设计一个主程序并完成如下功能: (1)初始化顺序表L; (2)依次采用尾插法插入a,b,c,d,e元素; (3)输出顺序表L; (4)输出顺序表L长度; (5)判断顺序表L是否为空; (6)输出顺序表L的第3个元素; (7)输出元素’a’的位置; (8)在第4个元素位置上插入’f’元素; (9)输出顺序表L; (10)删除L的第3个元素; (11)输出顺序表L; (12)释放顺序表L。 三、实验预习内容 顺序表基本运算,包括:建立顺序表、顺序表基本运算算法(初始化线形表、销毁线形表、判断线形表是否为空表、求线形表的长度、输出线形表、球现行表中某个数据元素值、按元素值查找、插入元素数据、删除数据元素) 三、实验结果与分析 #include <stdio.h> #include <malloc.h> #define MaxSize 50 typedef int ElemType; typedef struct { ElemType elem[MaxSize]; int length; } SqList; void InitList(SqList *&L) { L=(SqList *)malloc(sizeof(SqList)); L->length=0; } void DestroyList(SqList *L) { free(L); } int ListEmpty(SqList *L) { return(L->length==0); } int ListLength(SqList *L) { return(L->length); } void DispList(SqList *L) { int i; if (ListEmpty(L)) return; for (i=0;i<L->length;i++) printf("%c",L->elem[i]); printf("\n"); } int GetElem(SqList *L,int i,ElemType &e) { if (i<1 || i>L->length) return 0; e=L->elem[i-1]; return 1; } int LocateElem(SqList *L, ElemType e) { int i=0; while (i<L->length && L->elem[i]!=e) i++; if (i>=L->length) return 0; else return i+1; } int ListInsert(SqList *&L,int i,ElemType e) { int j; if (i<1 || i>L->length+1) return 0; i--; for (j=L->length;j>i;j--) L->elem[j]=L->elem[j-1]; L->elem[i]=e; L->length++; return 1; } int ListDelete(SqList *&L,int i,ElemType &e) { int j; if (i<1 || i>L->length) return 0; i--; e=L->elem[i]; for (j=i;j<L->length-1;j++) L->elem[j]=L->elem[j+1]; L->length--; return 1; } void main() { SqList *L; ElemType e; printf("初始化顺序表L\n"); InitList(L); printf("依次采用尾插法插入a,b,c,d,e元素\n"); ListInsert(L,1,'a'); ListInsert(L,2,'b'); ListInsert(L,3,'c'); ListInsert(L,4,'d'); ListInsert(L,5,'e'); printf("输出顺序表L:"); DispList(L); printf("顺序表L长度=%d\n",ListLength(L)); printf("顺序表L为%s\n",(ListEmpty(L)?"空":"非空")); GetElem(L,3,e); printf("顺序表L的第3个元素=%c\n",e); printf("元素a的位置=%d\n",LocateElem(L,'a')); printf("在第4个元素位置上插入f元素\n"); ListInsert(L,4,'f'); printf("输出顺序表L:"); DispList(L); printf("删除L的第3个元素\n"); ListDelete(L,3,e); printf("输出顺序表L:"); DispList(L); printf("释放顺序表L\n"); DestroyList(L); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服