数据结构实验二之单链表

数据结构实验二——单链表的基本实现 数据结构实验二,单链表的基本实现 实现了单链表的创建,插入元素,删除元素,查找元素,显示的过程 阅读详情

1.建立一个由n个学生成绩的顺序表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果。------用单链表来实现。

#include<iostream>
using namespace std;
struct Node
{
	double data;
	Node*next;
};
class stu
{
private:
	Node*first;
	int count;
public:
	stu(double a[], int n);
	~stu();
	void Insert(int i, double x);
	double Get(int i);
	int Locate(double x);
	double Delete(int i);
};
stu::stu(double a[], int n)
{
	int i;
	first = new Node; first->next = NULL;
	for (i = 0; i < n; i++)
	{
		Node*s;
		s = new Node; s->data = a[i];
		s->next = first->next; first->next = s;
	}
}
stu::~stu()
{
	while (first != NULL)
	{
		Node*q;
		q = first;
		first = first->next;
		delete q;
	}
}
void stu::Insert(int i, double x)
{
	Node*p;
	p = first; count = 0;
	while (p != NULL&&count < i - 1)
	{
		p = p->next;
		count++;
	}
	if (p == NULL) throw"位置";
	else
	{
		Node*s;
		s = new Node; s->data = x;
		s->next = p->next; p->next = s;
	}
}
double stu::Get(int i)
{
	Node*p;
	p = first->next; count = 1;
	while (p != NULL&&count < i)
	{
		p = p->next;
		count++;
	}
	if (p == NULL) throw"位置";
	else return p->data;
}
int stu::Locate(double x)
{
	Node*p;
	p = first->next; count = 1;
	while (p != NULL)
	{
		if (p->data == x) return 7-count;
		p = p->next;
		count++;
	}
	return 0;
}
double stu::Delete(int i)
{
	Node*p;
	p = first; count = 0;
	while (p != NULL&&count < i - 1)
	{
		p = p->next;
		count++;
	}
	if (p == NULL || p->next == NULL) throw"位置";
	else
	{
		Node*q; double x;
		q = p->next; x = q->data;
	    p->next = q->next;
		delete q;
		return x;
	}
}
int main()
{
	double a[10] = { 91,92,93,94,95,96 };
	stu student(a, 6);
	student.Insert(2, 100);
	student.Delete(6);
	cout<<student.Get(2)<<endl;
	cout<<student.Locate(96)<<endl;
}


《数据结构》实验二:线性表综合实验——(2)单链表 《数据结构》实验二:                线性表综合实验一.实验目的     巩固线性表的数据结构的存储方法和相关操作,学会针对具体应用,使用线性表的相关知识来解决具体问题。 二.实验时间   准备时间为第3周到第4周,具体集中实验时间为第4周第2次课。2个学时。 三..实验内容1.建立一个由n个学生成绩的顺序表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入... 阅读详情

相关推荐

数据结构 实验二 单链表实验 实验报告(合肥工业大学 2023级)

数据结构 实验二 单链表实验 完整报告 合肥工业大学 2023级

Dulecam的博客 1146

【数据结构】实验三:链表

数据结构实验

m0_65787507的博客 2777

数据结构与算法_实验二单链表

理解单链表的定义掌握单链表的检索、插入、删除等算法的实现; 实现单链表完成线性表的基本操作: 初始化线性表、清空线性表、求线性表长度、检查线性表是否为空、遍历线性表、从线性表中查找元素、从线性表中查找与给定元素值相同的元素在线性表中的位置、插入元素、删除元素。

m0_59235382的博客 829

【数据结构实验】单链表实验

实验内容 1、利用头插法或尾插法建立单链表 2、对已建立的单链表实现插入、删除等基本操作; 3、输出链表所有结点数据 4、编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表并计算表长。.........

山风不打咩的博客 6061

数据分析学习总结笔记02:聚类分析及其R语言实现

** 数据分析学习总结笔记02:聚类分析Cluster Analysis ** 1. 聚类分析概述 1.1 聚类分析的直观理解 在科学研究、社会调查或日常生活中,通过观察个体的特征,将群体中的个体归为不同的族群/簇(Cluster)。 2. 聚类分析的方法 3. 聚类分析的应用 3.1 市场营销——精准营销 在市场营销中,基于消费者的历史交易信息、消费者背景等对消费者进行划分,从而对不同类型的消费...

weixin_41961559的博客 4420

图解凸函数与凹函数:别再被数学定义搞晕了!

本文通过图解和生活化类比,深入浅出地解释了凸函数与凹函数的数学定义及其与日常直觉的差异。文章详细介绍了凸函数的图像特征、数学定义(包括二阶导数判断)、在机器学习中的重要性,以及常见误区和实际应用中的判断技巧,帮助读者彻底理解这一关键数学概念。

weixin_29159441的博客 658

数据结构实验之单链表----单链表的基本操作

单链表

2201_75867204的博客 3608

GEE案例教程:融合Sentinel-1 SAR数据、Sentinel-2光学影像和WorldPop人口数据,构建完整的洪水监测与影响评估工作流

本文介绍了一个专为巴基斯坦哈扎拉分区设计的洪水监测系统,该系统整合了Sentinel-1 SAR数据、Sentinel-2光学影像和WorldPop人口数据等多源遥感数据。系统通过VV极化SAR数据的水体提取算法(阈值-13dB)实现洪水范围监测,结合10米分辨率的光学影像进行可视化验证,并利用100米分辨率人口数据评估受灾人口。系统提供完整的技术实现,包括研究区加载、遥感数据处理、日期选择界面和洪水变化检测等功能模块,为灾害应急响应提供科学依据。

此星光明博客 191

【数据结构】单链表完整代码实现

数据结构中单链表的完整代码实现。

飞舞的蓝色雪花 5001

2025年12月GESP真题及题解(C++一级): 小杨的爱心快递

2025年12月GESP真题及题解(C++一级): 小杨的爱心快递

王老师青少年编程 1649

手把手教你学Simulink——基于自动驾驶辅助系统的场景实例:车道保持辅助系统(LKA)的仿真与实现

本文通过Simulink实例讲解车道保持辅助系统(LKA)的实现方法。首先介绍LKA从预警到主动控制的技术演进,阐述其系统架构、核心组件和工作原理。重点演示基于自行车模型的车辆横向动力学建模过程,以及使用线性二次调节器(LQR)设计横向控制器的详细步骤。教程包含四个仿真场景测试,分析关键指标如控制精度、舒适性和响应性。最后探讨LKA技术的发展方向,强调人机协同的安全理念。该实例为自动驾驶辅助系统开发提供了完整的Simulink实践方案。

MHD0815的博客 182

数据结构教程实验二链表基本操作的实现

1.实现单链表各种基本运算在实现单链表各种基本运算的基础上,设计主程序,完成如下功能:(1)初始化单链表h。(2)依次采用尾插法插入12,25,7,9,10共5个元素。(3)输出单链表h。 4)输出单链表h的长度5)判断单链表h是否为空。(6)输出单链表h第4个元素。(7)输出元素5的位置。(8)在第4个元素的位置上插入元素100。(9)输出单链表h。(10)删除单链表h的第3个元素。(11)输出单链表h。(12)释放单链表h。

Annzz123的博客 2265

2024-江苏科技大学-模拟-动态接触角,模拟液滴撞击,comsol软件模拟。

相反,其对液滴粘度和平衡接触角的变化基本不敏感。重力势能的影响显著受过程参数调节,随着液滴直径和密度的增加而增加,而随着初始液滴速度和表面张力系数的增加而减小。通过考虑形状因子和粘度修正因子,可以准确定义表面能和粘性耗散能,使得所提出的半经验修正勺状模型表现出良好的性能,在所有65个研究案例中,液滴最大铺展长度因子(βmax)和中心厚度(h)的相对误差基本分别落在5%和10%的区间内。重力势能的影响受过程参数显著调节,随液滴直径和密度的增大而增大,随液滴初始速度和表面张力系数的增大而减小。

qq_15963745的博客 512

实验二 单链表的操作(数据结构实验c++编写)

文章目录1.实验目的2.实验内容3.实验步骤4.实验代码5.实验总结 1.实验目的 (1)掌握线性表的链式存储结构; (2)掌握单链表及其基本操作的实现。 2.实验内容 (1)编程实现单链表的以下基本操作:建立单链表,查找单链表,插入单链表,删除单链表。 (2)采用单链表结构编程实现:两个有序单链表的归并运算。 3.实验步骤 编写程序框架,利用while循环输入操作代码,利用switch选择语句...

abtgu的博客 6956

【入门AUTOSAR网络管理测试】RSS-PBM状态转换

随着智能电动汽车行业的快速发展,目前AUTOSAR网络管理也得到了广泛应用,AUTOSAR网络管理测试也是汽车网络测试中非常重要的环节,NM问题导致的汽车ECU不能唤醒、电瓶亏电等问题,对于新入门AUTOSAR网络管理测试的同学不清楚如何开展测试,那么本章节就主要给大家介绍网络管理中RSS-PBM状态转换如何测试。【入门AUTOSAR网络管理测试】AUTOSAR网络管理规范需求解读。

测试领域技术分享 872

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

数据结构:实验二 单链表

编写一个程序exp2-2.cpp,实现单链表的各种基本运算和下面main函数中的每一步功能。//2) 依次插入a,b,c,d,e元素,字符类型。//8) 在第4个元素位置上插入f元素。//10) 删除顺序表L的第3个元素。//6) 输出顺序表L的第3个元素。2.线性表基本运算在单链表上的实现。//4) 输出顺序表L的长度。//5) 判断顺序表L是否为空。//7) 输出元素a的位置。// 1) 初始化顺序表L。//11) 输出顺序表L。//3) 输出顺序表L。/9) 输出顺序表L。

菜鸟的博客~ 1020

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

数据结构实验二——单链表的基本操作

单链表的基本操作一、实验内容二、基本要求三、支撑的课程目标四、实验过程 一、实验内容 编程实现单链表的基本操作:建立单链表,查找单链表,插入单链表,删除单链表; 采用单链表结构编程实现:两个有序单链表的归并运算。 二、基本要求 掌握线性表的链式存储结构; 掌握单链表及其基本操作的实现。 三、支撑的课程目标 本实验项目可以支撑“目标1. 理解数据结构的基本概念、计算机内部数据对象的表示和特性。掌握线性表、树、图等数据逻辑结构、存储结构及其差异以及各种操作的实现。 本实验通过验证方式引导学

weiyuexin的博客 4822

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

数据结构实验二:单链表

上课没听,现学现卖 ???? 实验二:实现单链表各种基本运算的算法 内容:编写程序实现单链表各种基本运算,并编写main方法测试程序可行性。主要完成以下功能: 1、 初始化单链表; 2、 一次采用尾插法插入a、b、c、d、e元素; 3、 输出单链表; 4、 输出单链表长度; 5、 判断单链表是否为空; 6、 输出单链表的第3个元素; 7、 输出元素d的位置; 8、 在第4个元素位置上插入f元素; 9、 输出插入后的单链表; 10、 删除单链表中的第2个元素; 11、 输出删除后的单链表; 12、 (选做)单

sunhongxuan666的博客 966

数据结构实验二---单链表的实现

一、【实验目的】 1、掌握建立单链表的基本方法。 2、掌握单链表的插入、删除算法的思想和实现 二、【实验内容】 仿照教材中的单链表实现例子,自己设计一个有序单链表,单链表中的数据元素为整型并递增有序。有序单链表的定义: 逻辑结构:有序线性表,数据元素递增有序 存储结构:链式 操作集合:初始化、插入、删除、撤销 (1)ListInitiate(L)初始化线性表,生成一个空表L。 (2)ListInsert(L,x)在有序表L中插入数据元素x,使得新表仍然有序。 (3)ListDelete..

qq_66451743的博客 2949

数据结构实验二:实现对单链表的基本操作!

实验二: 经验总结与心得:今天完成了对数据结构实验二代码的完整书写,昨天晚上被两个基本问题困扰了很长时间:1.在InsertList_LA()函数中少写了一个j++,从而导致此函数无法执行它的功能。2.在DeleteList_LA()中参数e应该有取地址符号,因为在函数中改变了e值后,在主函数中还要运用e的值,因此必须加地址符才能改变主函数中的e的值。 实验目的 (1)掌握单链表的创建,插入...

快乐王子~ 6335

数据结构实验二 单链表的基本操作

单链表的基本操作 背景知识:单链表的插入、删除及应用。 目的要求: 1.掌握单链表的存储特点及其实现。 2.掌握单链表的插入、删除算法及其应用算法的程序实现。 实验内容: 编写一个完整的程序,实现单链表的生成、插入、删除、输出等基本操作。 (1) 随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。 (2) 计算单链表的长度,遍历单链表。 (3) 把单链表中的元素逆置(不允许申请新的结点空间)。 (4) 在单链表中删除所有值为偶数的元素结点。 (5) *编写在非递减有序单链表中插入一个元素使链表

Lelouch_Zero的博客 3803

数据结构实验二 单链表的实现

1.插入操作时,从链表的第一个数据元素结点开始,逐个比较每个结点的data域值和x的值,当data小于等于x时,进行下一个结点的比较;2.删除操作时,从链表的第一个数据元素结点开始,逐个比较每个结点的data域值和x的值,当data不等于x时,进行下一个结点的比较;(3)ListDelete(L,x) 删除有序表L中的数据元素x,若删除成功则返回1,不成功则返回0。1.有序单链表的操作集合有如下操作:初始化、插入、删除、撤销,使用头文件单链表的代码。2、掌握单链表的插入、删除算法的思想和实现。

m0_63708766的博客 258

zzu数据结构实验(二)单链表的基本操作

数据结构实验(二)实现了单链表的基本操作。实验内容包括:1)逆序建立单链表;2)遍历输出链表元素;3)在第5个位置前插入值为999的元素;4)删除第5个位置的元素。通过头插法实现逆序建表,并采用带头结点的单链表结构。实验详细展示了链表的创建、遍历、插入和删除操作,提供了完整的C++实现代码和测试用例。项目已开源在GitHub,包含实验代码和说明文档。测试结果表明,所有操作均能正确执行,验证了链表基本操作的实现正确性。

做cv的小昊的博客 861

数据结构实验二 单链表简单操作

概率论课上闲来无事,顺手把数据结构实验写了,代码如下 样例输入; 1 3 5 7 9 0 2 4 6 7 8 0 6 样例输出; 9 7 5 3 1 9 8 7 6 5 4 3 2 1 9 8 7 5 4 3 2 1 #include<iostream>//按序插入 #define ERROR -1 #define exist 1 #define OK 0 using namespace std; //Author Spark typedef struct LNode { int da

Sp9rk1ess的博客 543

《数据结构》实验报告(二)——单链表存储结构及实现

单链表存储结构及实现 ——学生信息管理 一、实验目的 (1) 掌握单链表的概念及实现方式。 (2) 掌握单链表的存储结构及主要运算,如建立、查找、插入、删除等。 二、实验环境 Windows 10,Microsoft Visual C++ 2010 Express 三、实验内容 1、内容描述 定义一个包含学生信息(学号,姓名,成绩)的链表,使其具有如下功能: (1) 根据指定学生个数,逐个输入学生信息; (2) 逐个显示学生表中所有学生的相关信息; (3) 根据姓名进行查找,返回此学生的学号和成绩; (4)

weixin_44197749的博客 1万+
上一篇: 数据结构实验二之顺序表
下一篇: 数据结构二之双链表(找不出异常原因抓狂)
dj_ing
博客等级 码龄9年 9粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值