- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性表(顺序存储)——c#
线性表之c#版本
定义:零个或多个数据元素的有限序列。在这句话中,我们要注意的是有限和序列这两个词语。说白了,就是有前后顺序的、数量有限的一组数据!但要注意,数据的类型要相同。
在线性表中,元素的个数n(n=0)就是线性表的长度。当n=0时,线性表为空表。
线性表的一些基础操作有以下一些:
3.1 创建和初始化
3.2 置空
3.3 更据位序获取数据元素
3.4 查找
3.5 获取线性表长度
3.6 插入
3.7 删除
4 线性表根据其在内存中的不同物理方式,我们可以分为顺序存储和链式存储。他们各有各的好处和缺点,接下来要分析和写一些代码。
4.1顺序存储:一段物理地址连续的存储单元依次存储线性表的数据元素,一般用数组来存储。定义顺序存储的三要素是:数组的起始位置(数组的名称)、数组长度、数组当前位置(线性表长度)。
4.2 在这里要区别数组长度和线性表长度。数组长度就是这个线性表总共可以存储多少数据。有些书中谈到,可以动态分配一围数组,但会带来性能上的损耗(在后面的代码中有动态扩容)。线性表长度是当前线性表中有多少数据元素。我们要记牢:线性表长度一定小于等于数组长度。
4.3 顺序存储元素地址计算方法
LOC(ai)=LOC(a1)+(i-1)*C
C:数组元素长度,比如整型长度是16位,字符型是8位等等……
从中我们可以看出,取值的时间复杂度是O[1]。我们把有这个存储特点的存储结构叫做随即存储结构。
所有程序详见MyArrayList.cs
通过分析我们可以知道,顺序存储线性表存储数据的时间复杂度为O(1),但是删除和插入一个数据的时间复杂度为O(N)。所以,顺序存储线性表比较适合于那些存多变少的应用
有不懂问题可以直接通QQ:384054672联系我,大家一起讨论问题!附上c#实现代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyArrayList
{
class MyArrayList:IList
{
private object[] data = null; //用来存放数据的数组
private int current; //当前元素的下标
private int capacity; //数组共有多少容量
private int defaultLength = 10;
public MyArrayList() //无参初始化,数组长度为10
{
this.data = new object[defaultLength];
this.current = 0;
this.capacity = defaultLength;
}
public MyArrayList(int initalSize) //带参初始化
{
if (initalSize 0)
{
throw new Exception(错误:数组初始化大小参数错误:+initalSize);
}
this.data = new object[initalSize];
this.current = 0;
this.capacity = initalSize;
}
private bool isListFull() //判断数组是否已满
{
return this.capacity == this.current;
}
public bool IsListEmpty()
{
return this.current == 0;
}
public void ClearList()
{
for (int n = 0; n this.current
您可能关注的文档
- 圆锥曲线与方程检测试题A.doc
- 5动力学2MicrosoftPowerPoint演示文稿.ppt
- 五上第七单元小数和整数相乘第一课时教案.doc
- 行道树设计思路及流程图、使用说明.doc
- 数学必修2第一二章立体几何检测题.doc
- 加速iTunes下载的办法.doc
- 师大研究生学位论文撰写及印制规格的规定.doc
- 人教版《美丽的小路》PPT.ppt
- 初中英语家教详解40.doc
- GSM系统的业务功能.ppt
- 2023年化学知识点记忆.doc
- 江苏2024年03月江苏扬州市公务员考试人选国家公务员考试消息笔试上岸试题历年典型考题与考点剖析附带答案解析.docx
- 浙江2024年2月浙江嘉兴秀洲区公务员考试复审考生国家公务员考试消息笔试上岸试题历年典型考题与考点剖析附带答案解析.docx
- 黑龙江2024年04月黑龙江省会机关遴选公务员国家公务员考试消息笔试上岸试题历年典型考题与考点剖析附带答案解析.docx
- 四川2024年03月四川凉山州法院系统公务员考试民族语言测试国家公务员考试消息笔试上岸试题历年典型考题与考点剖析附带答案解析.docx
- 青海2024年2月青海省人民法院人民检察院公务员考试国家公务员考试消息笔试上岸试题历年典型考题与考点剖析附带答案解析.docx
- 河北2024年2月河北公务员考试人民警察体能测评秦皇岛考区考务安排国家公务员考试消息笔试上岸试题历年典型考题与考点剖析附带答案解析.docx
- 2024年辽宁大连友谊医院自主招考聘用急需紧缺岗位笔试上岸试题历年典型考题与考点剖析附带答案解析.docx
- 资料讲稿眼科1066 full.pdf
- 游戏架构介绍从上看acgdcg.pdf
文档评论(0)