当前位置: 首页 > news >正文

实验报告-线性表

集美大学课程实验报告-实验2:线性表

项目名称 内容
课程名称 数据结构
班级 网安2511
指导教师 郑如滨
学生姓名 张紫琪
学号 202521336002
实验项目名称 线性表
上机实践日期 2026.03.19
上机实践时间 2学时

一、目的(本次实验所涉及并要求掌握的知识点)

  • 掌握顺序表和链表的基础操作。
  • 学习线性表的创建和修改操作。
  • 理解线性表在实际问题中的应用。

二、实验内容与设计思想

题目1:区间删除

函数相关伪代码

区间删除函数DeleteRange(L,min,max):
{
L->length确定为n
i=0;
k=0,用于保留不在区间内的元素
循环遍历(L->data[i]<min且L->data[i]>max时,元素不在删除区间){保留下来L->data[k]=L->data[i]k往后移,k++}
更新顺序表长度L->length=k
}

函数代码

void DelNode(SqList &L,int min,int max)//删除区间元素。min,max表示删除的区间 
{int k=0;//保留不在区间内的元素for(int i=0;i<L->length;i++){if(L->data[i]<min||L->data[i]>max){L->data[k]=L->data[i];k++;}}L->length=k;
}

题目2:尾插法创建链表

函数相关伪代码

尾插法创建链表函数CreateList(L,n):
{
初始化链表
创建尾指针*tail=L
i=0
循环添加n个数据{
新建指针p并赋值p->data=data
next指向NULL
将新接入的节点p接在当前tail后面
tail移动到新接入的p,准备链接下一个数据}
}

函数代码

void CreateListR(LinkList &L, int n)
//L表示带头结点链表,n表示数据元素个数
{L=new LNode;L->next=NULL;LNode*tail=L;for(int i=0;i<n;i++){LNode* p=new LNode;cin>>p->data;p->next=NULL;tail->next=p;tail=p;}
}

题目3:单链表的逆置

函数相关伪代码

逆置链表函数ReverseList(&L):
{
前驱指针pre初始化
当前指针p初始化为头节点->next
指针next,初始化
当前p不为空时循环{
next保留p->next的内容,防止指针断裂
改变当前指针,p->前驱prepre=p;p=next,继续改变指向}
改变头指针L->next=pre
}

函数代码

void ReverseList(LinkList &L)//逆转链表
{LinkList pre=NULL;LinkList p=L->next;L->next=NULL;LinkList next=NULL;while(p!=NULL){next=p->next;p->next=pre;pre=p;p=next;}L->next=pre;
}

三、实验使用环境(本次实验所使用的平台和相关软件)

  • 操作系统:Windows 10 专业版
  • 编程语言:C++
  • 开发工具:Visual Studio 2022
  • 编译器:vs2022默认编译器、g++

四、实验步骤和调试过程(实验步骤、测试数据设计、测试结果分析)

题目1:区间删除

本机截图

本机截图1

PTA提交截图

pta1


题目2:尾插法创建链表

本机运行截图

本机截图2

PTA提交截图

pta2


题目3:链表的逆置

本机运行截图

本机截图3

PTA提交截图

ptaa


五、实验小结(实验中遇到的问题及解决过程、实验体会和收获)

遇到的问题及解决方法:

  1. 问题伪代码的思路不清晰。
  • 解决方法用自然语言,借助ai辅助优化伪代码。
  1. 问题c++和c混合使用,如delete/new和cin/cout导致本机运行失败。
  • 解决方法全部换成c++的语法。

实验体会和收获:

  • 学会了如何用自然语言和伪代码表达要编写的程序。
  • 掌握了线性表(顺序表和单链表)的基本操作代码。

六、附件(参考文献和相关资料)

  1. C++ Primer
  2. 实验2-线性表
http://www.jsqmd.com/news/511908/

相关文章:

  • 太原售后完善的汽车贴膜公司有哪些,哪家费用低? - 工业品牌热点
  • 2026年精益管理咨询公司推荐:战略规划到落地执行全链条咨询服务对比 - 十大品牌推荐
  • 老宅清仓腾空间,怀旧老物别乱堆!北京记录者商行全品类上门收 - 品牌排行榜单
  • Hot100-验证二叉搜索树
  • 2026年贵阳地区国际认可的西点学校推荐,教学特色解读 - 工业设备
  • 2026年中国人力资源管理咨询公司推荐:长期陪伴式咨询与实效落地热门机构解析 - 十大品牌推荐
  • 2026年广州讯灵AI服务哪家好,深聊南方网通讯灵AI优势 - 工业品网
  • 7-Zip解压软件下载安装全流程教程(2026最新) - xiema
  • 2026杭州有实力的企业注册公司品牌推荐,为您提供优质服务 - 工业品网
  • 【2026最新】MySQL数据库安装教程:从下载到配置完整指南 - xiema
  • Qwen3-4B模型实战:构建内网穿透可访问的私有AI知识库
  • AN/TPY-2相控阵雷达技术解析:X波段DBF与系统工程实践
  • 【2026推荐】Geek Uninstaller下载全攻略:专业卸载工具(附安装包) - xiema
  • 2026年中国人力资源管理咨询公司推荐:企业战略转型期组织效能提升靠谱伙伴盘点 - 十大品牌推荐
  • 2026年上海离婚律师推荐:涉外婚姻与财产分割靠谱选择及用户口碑真实评价 - 品牌推荐
  • fcitx5 + Rime适配Niri(Wayland)配置过程 - alu
  • 精准测试基石:无人机动力系统测试台校准的必要性与实操方法
  • python基于Hadoop云存储 网盘文件管理系统设计与实现
  • 看看2026年黄石靠谱的西点学校,高级西点师资格证费用详情 - myqiye
  • 科普漫画:服务器“过劳死”:为什么你的设备总比别人的先坏?
  • 2026年隐私安全充电宝推荐:酒店住宿防偷拍高性价比型号及用户口碑分析 - 十大品牌推荐
  • 智能婴儿床的多模态感知与闭环控制设计
  • 2026年隐私安全充电宝品牌推荐:差旅住宿防偷拍高性价比型号与选购避坑指南 - 十大品牌推荐
  • Unity URP实战:5分钟搞定角色遮挡高亮效果(附完整Shader代码)
  • 人力资源系统革新,企业发展的新动力
  • 天津好用的芝麻灰道牙石加工厂推荐 - mypinpai
  • Python爬虫获取训练数据:为定制化伏羲模型收集历史气象资料
  • 【OpenClaw 全面解析:从零到精通】第 018 篇:OpenClaw 多智能体协作系统——多 Agent 路由、任务委托与负载均衡
  • 2025-2026年中国人力资源管理咨询公司推荐:成长型企业薪酬绩效体系搭建优选服务对比 - 十大品牌推荐
  • 中国企业如何选择人力资源管理咨询?2026年靠谱推荐聚焦组织发展与实战落地 - 十大品牌推荐