zoukankan      html  css  js  c++  java
  • C#线性表

    线性表是线性结构的抽象

    线性结构的特点是结构中的数据元素之间存在一对一的线性关系

    一对一的关系指的是数据元素之间的位置关系

    (1)除第一个位置的数据元素外,其它数据元素位置的前面都只有一个数据元素

    (2)除最后一个位置的数据元素外,其它数据元素位置的后面都只有一个元素

    数据元素是一个接一个的排列。因此,可以把线性表想象为一种数据元素序列的数据结构

    线性表的接口定义:

    public interface IListDS<T>
    {
    int GetLength(); //求长度
    void Clear(); //清空操作
    bool IsEmpty(); //判断线性表是否为空
    void Append(T item); //附加操作
    void Insert(T item, int i); //插入操作
    T Delete(int i); //删除操作
    T GetElem(int i); //取表元
    int Locate(T value); //按值查找
    }

      

    1、求长度:GetLength()
    初始条件:线性表存在;
    操作结果:返回线性表中所有数据元素的个数。
    2、清空操作:Clear()
    初始条件:线性表存在且有数据元素;
    操作结果:从线性表中清除所有数据元素,线性表为空。
    3、判断线性表是否为空:IsEmpty()
    初始条件:线性表存在;
    操作结果:如果线性表为空返回 true,否则返回 false。
    4、附加操作:Append(T item)
    初始条件:线性表存在且未满;
    操作结果:将值为 item 的新元素添加到表的末尾。
    5、插入操作:Insert(T item, int i)
    初始条件:线性表存在,插入位置正确()(1≤i≤n+1,n 为插入前的表长)。
    操作结果:在线性表的第 i 个位置上插入一个值为 item 的新元素,这样使得
    原序号为 i,i+1,…,n 的数据元素的序号变为 i+1,i+2,…,n+1,插入后表长=原
    表长+1。
    6、删除操作:Delete(int i)
    初始条件:线性表存在且不为空,删除位置正确(1≤i≤n,n 为删除前的表
    长)。
    操作结果:在线性表中删除序号为 i 的数据元素,返回删除后的数据元素。
    删除后使原序号为 i+1,i+2,…,n 的数据元素的序号变为 i,i+1,…,n-1,删除后
    表长=原表长-1。
    7、取表元:GetElem(int i)
    初始条件:线性表存在,所取数据元素位置正确(1≤i≤n,n 为线性表的表
    长);
    操作结果:返回线性表中第 i 个数据元素。
    8、按值查找:Locate(T value)
    初始条件:线性表存在。
    操作结果:在线性表中查找值为 value 的数据元素,其结果返回在线性表中
    首次出现的值为 value 的数据元素的序号,称为查找成功;否则,在线性表中未
    找到值为 value 的数据元素,返回一个特殊值表示查找失败。

  • 相关阅读:
    Linux添加PATH,即命令自动补全功能
    编程的奥义
    Windows SDK笔记
    一个烂电源,毁了我一天的工作
    贪念
    VC菜菜鸟创建一个即时串口通信程序
    IP视频监控系统开放式平台的5个标志
    敷铜的入门
    解决:Ulead VideoStudio 启动黑屏的问题
    数据结构中,关于“大小端”的数据存储方式的相关问题
  • 原文地址:https://www.cnblogs.com/sunliyuan/p/9999040.html
Copyright © 2011-2022 走看看