- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
线性表——单链表 数据结构(C#语言版) 4、取表元素:SearchNode(int i) 初始条件:线性表存在,所取数据元素位置正确(1≤i≤n)。 操作结果:返回线性表中第i个数据元素。 5、定位元素:SearchNode(T value) 初始条件:线性表存在 操作结果:在线性表中查找值为value的数据元素。 6、求表长度:GetLength() 初始条件:线性表存在 操作结果:返回线性表中所有数据元素的个数。 7、清空操作: Clear() 初始条件:线性表存在且有数据元素 操作结果:从线性表中清除所有数据元素,线性表为空。 8、判断线性表是否为空:IsEmpty() 初始条件:线性表存在 操作结果:如果线性表不包含任何数据元素则返回true,否则返回false。 利用顺序表,编程实现学生成绩的增加、删除、查询(按学号、姓名查询)、升序显示、降序显示。 * 数据结构和算法简介 数据结构(C#描述) * 目标 在本课程中,你将达到如下目标: 认识线性表,了解线性表的逻辑结构和特点 了解线性表的基本操作 线性表的链式表示和实现 [问题描述] 有一个学生成绩表,以升序的方式存储着N位学生的成绩,现需要编写一个学生成绩管理系统,实现如下的功能: 对学生成绩表,实现插入、删除操作,并保证成绩按升序排列; 可以按给定的姓名或学号查询指定学生的的信息; 可以升序或降序显示所有学生的成绩。 问题引入——学生成绩表的编程问题 认识线性表 线性表(linear list)是由n(n≥0)个相同类型的数据元素(结点)a0,a1,…,an-1组成的有限序列,一个有n个数据元素的线性表常常表示为(a0,a1,…,an-1)。 1、线性表定义: 2、线性表特点: 有且仅有一个开始结点,没有直接前趋,而仅有一个直接后继a1 有且仅有一个结束结点,没有直接后继,而仅有一个直接前趋。 除了开始与结束结点外,其它结点都有且仅有一个直接前趋和直接后继。 线性表的基本操作 1、初始化操作: 初始条件:线性表不存在 操作结果:创建一个空的线性表 2、插入操作:InsertNode(T a, int i) 初始条件:线性表存在,插入位置正确(1≤i≤n+1,n为插入前的表长) 操作结果:在线性表的第i个位置上插入一个值为a的新元素。 3、删除操作:DeleteNode(int i) 初始条件:线性表存在且不为空,删除位置正确(1≤i≤n)。 操作结果:在线性表中删除序号为i的数据元素。 线性表的基本操作 将上述操作定义在接口IlinearList中,代码如下: Interface IlinearListT { Void InsertNode(T a, int i); //插入操作 Void DeleteNode(int i); //删除操作 T SearchNode(int i); //查找元素 T SearchNode(T value); //定位表元素 Int GetLength(); //求表长度 Void Clear(); //清空操作 Bool IsEmpty(); //判断表是否为空 } 线性表的基本操作 顺序存储结构用一组地址连续的存储单元依次存储线性表的数据元素。用物理位置来表示逻辑结构。用这种方法存储的线性表简称顺序表。 线性表的顺序表示和实现 顺序表的存储结构可以用C#语言中的一维数组来表示。 对顺序表的操作 1、初始化顺序表: 步骤: 初始化maxsize为实际值 为数组申请可以存储maxsize个数据元素的存储空间,数据元素的类型由实际应用而定 初始化length为0 2、插入操作:InsertNode(T a, int i) 步骤: 若没有定指定插入位置,则将数据元素插入到顺序表的最末一个位置,指定插入位置i,若1≤i≤length+1,则转入步骤2,否则无法插入。 将第Length个至第i个存储位置上的元素依次后移,将新的元素置于i位置上。 使顺序表长度length加1 3、删除操作:DeleteNode(int i) 步骤: 如果列表为空,或者不符合1≤i≤length,则提示没有要删除的元素,否则转入步骤2。 将第i+1到Length个元素依次前移。 使顺序表长度length减1 独立实践 小结 线性表(linear list)是由n(n≥0)个相同类型的数据元素(结点)组成的有限序列,有且仅有一个开始结点,开始结点没有直接前趋,仅有一个直接后继,有且仅有一个结束结点,结束结点没有直接后继,而仅有一个直
您可能关注的文档
最近下载
- 2案例--新上任的分公司经理.docx VIP
- 《动画分镜设计》课件——第四章:镜头画面设计.pptx VIP
- 老年高血压特点及临床诊治流程专家共识(2024)解读PPT课件.pptx VIP
- xxx镇基干民兵快速集结预案.doc VIP
- 熔融盐理论与应用.pdf
- 2024水利闸门自动化系统技术规范.docx VIP
- 人教版英语七年级下册Unit 6 Rain or Shine单元分层作业.docx
- 【MOOC】《通信电子线路》(华中科技大学)章节作业中国大学慕课答案.docx
- 宣布干部任命后领导总结性讲话1400字.docx VIP
- Tengen天正TGW45系列万能式断路器TGW45说明书 2000 3200旋转排20230421用户手册.pdf
原创力文档


文档评论(0)