数据结构实验二之单链表

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

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

【文章阅读+代码复现】Point-GNN

Brief 在3D点云语义分割方法中,GNN已经做了很多可用的方案,但是在目标检测上依旧是采用比较传统的CNN和稀疏卷积的组合,这一篇文章是研究了图卷积在3D检测的中的用法。来自卡内基梅隆大学。已经被CVPR2020接收. 这里是 paper 这里是 code Abstruct 一个采用GNN设计的3D目标检测框架 过程是先将点云场景编码成图结构,随后设计了一个叫point-GNN的网络结构,在...

有所为,有所成长 1万+

C2000 ePWM与SDFM同步配置:从寄存器到Driverlib实战解析

在嵌入式实时控制系统中,脉宽调制(PWM)是实现电机驱动、数字电源等应用的核心技术,其信号质量和时序精度直接决定了系统性能。为实现精确控制,PWM信号常需与模数转换器(ADC)或Sigma-Delta滤波器(SDFM)的采样时刻严格同步,以消除开关噪声并获取准确的反馈信号。其技术原理在于通过硬件同步机制,将PWM的特定时间点(如周期中心)作为触发源,控制数据采集的启动时刻。这种硬件级同步能有效提升闭环控制的稳定性和动态响应速度,广泛应用于伺服驱动、变频器等高性能场景。本文聚焦于TI C2000系列微控制器,

weixin_33692284的博客 446

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

单链表

2201_75867204的博客 3608

不修改MMDetection源码使用自定义数据和模型

以目标检测为例,用非侵入式的模型和MMDetection数据的方法进行配置。也就是不改动MMDetection的任何源码或目录的条件下,使用自定义数据训练自定义模型。

Dlite的技术笔记 1342

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

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

飞舞的蓝色雪花 5001

VSAN 虚拟机丢失排查与恢复完整方案

VSAN虚拟机(含vCenter)显示无效 检查存储状态:登录ESXi Host Client,确认VSAN存储是否挂载。 若未挂载,通过SSH执行 手动挂载。 验证文件存在:检查虚拟机文件是否完整。 解除文件锁定:删除残留的 .lck 文件 手动注册虚拟机:强制注册虚拟机配置文件。 检查VSAN健康:验证集群节点在线、磁盘组状态正常,并测试节点间网络。 修复元数据:针对损坏对象,谨慎执行修复。 终极恢复:若数据丢失,从备份还原或联系VMware支持,提交日志

sido777的博客 2686

Allegro如何设置走线自动删除重复走线操作指导

Allegro如何设置走线是自动删除重复走线操作指导在PCB布线的时候,点到点需要重复走一段线的时候,希望原来的线段自动被删除,Allegro设计的时候支持这个操作如下图,重复走中间的线段的时候,希望下方的走线自动删除具体操作如下This section is describe what the function allegro have ,helpfully could let user know more about allegroAllegro Design and Analysis includes

weixin_54787054的博客 4499

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

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

【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏1(附项目源码)

当今,塔防游戏已经成为游戏市场上备受欢迎的一类游戏类型。《保卫萝卜》作为其中的经典之作,深受玩家喜爱。本项目旨在基于《保卫萝卜》的玩法和特点,开发一个Unity2D塔防游戏,让玩家可以在游戏中体验到精彩的策略对抗与刺激的关卡挑战。本项目将通过Unity引擎进行开发,利用2D游戏开发相关技术,包括但不限于精灵动画、碰撞检测、UI界面设计等。我们将实现萝卜作为关键角色的防守任务,并设计各种怪物和防御塔,使得游戏具有多样的战术策略和游戏乐趣。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 4924

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

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

abtgu的博客 6956

[QMT量化交易小白入门]-四十九、中小盘策略是否还有未来,市值再平衡策略,年化收益率124%

该策略旨在通过定期再平衡持仓,保持投资组合中股票数量恒定(),并优先持有市值较小的股票。具体来说,策略每两天(period = 2)进行一次再平衡,根据当前市值对持仓进行调整,以实现微盘股的投资目标。中小市值策略对资金量要求有限制,资金量太大由于流动性不足,滑点可能较大,资金量太小,可能不能达到10-20只持仓,来分散风险,10-100w可能是比较理想的,后续可以根据波动率动态调仓,或波动率大于一定值时触发再平衡加入ROE或其他财务指标,或者研发投入强度大的专精特新企业,进行组合优化。

木头大左的博客 1185

异构图中的注意力机制网络:节点级别和语义级别的注意力(Python实现)

在本文中,我们介绍了如何使用Python实现异构图中的节点级别注意力和语义级别注意力。通过语义级别注意力,我们可以根据节点的语义信息对节点进行加权聚合。在本文中,我们将介绍如何使用Python实现异构图中的注意力机制网络,包括节点级别的注意力和语义级别的注意力。最后,我们使用注意力权重对节点特征进行加权聚合,得到聚合后的节点表示。然后,将聚合后的节点表示传递给语义级别注意力模型,根据节点的语义信息进行加权聚合,得到最终的表示。函数中,首先使用节点级别注意力模型对节点特征进行聚合,得到聚合后的节点表示。

HackNebulaZ的博客 485

数据结构:实验二 单链表

编写一个程序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

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

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

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

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

weiyuexin的博客 4822

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

数据结构实验二:单链表

上课没听,现学现卖 ???? 实验二:实现单链表各种基本运算的算法 内容:编写程序实现单链表各种基本运算,并编写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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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

一、【实验目的】 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、付费专栏及课程。

余额充值