zoukankan      html  css  js  c++  java
  • 第十四课、线性表的本质和操作-----------------狄泰软件学院

    一、线性表(List)的表现形式

    1、零个或者多个数据元素组成的集合

    2、数据元素在位置上是有序排列

    3、数据元素的个数是有限的

    4、数据元素的类型必须相同

    二、线性表(List)的抽象定义

    1、线性表是具有相同类型的n(>=0)个数据元素的有限序列

    {a0,a1,a2,....an-1}

    ai是表项(数据元素),n是表长度

    三、线性表(List)的性质

    1、a0为线性表的第一个元素,只有一个后继

    2、an-1为线性表的最后一个元素,只有一个前驱

    3、除a0和an-1外的其它元素ai,既有前驱又有后继

    4、直接支持逐项访问和顺序存取

    四、线性表的常用操作

    1、将元素插入线性表

    2、将元素从线性表中删除

    3、获取目标位置处元素的值

    4、设置目标位置处元素的值

    5、获取线性表的长度

    6、清空线性表

    五、线性表类的初步构建

    #ifndef LIST_H
    #define LIST_H
    
    #include "Object.h"
    
    namespace DTLib
    {
    
    template <typename T>
    class List : public Object
    {
    public:
        virtual bool insert(int i, const T& e) = 0;
        virtual bool remove(int i) = 0;
        virtual bool set(int i, const T& e) = 0;
        virtual bool get(int i, T& e) const = 0;
        virtual int length() const = 0;
        virtual void clear() = 0;
    };
    
    }
    
    #endif // LIST_H

    都是纯虚函数,抽象类用来被继承的

    六、小结

    (1)、线性表是数据元素的有序并且有限的集合

    (2)、线性表中的数据元素必须是类型相同

    (3)、线性表可用于描述排队关系的问题

    (4)、线性表在程序中表现为一种特殊的数据类型

    (5)、线性表在c++中表现为一个抽象类

  • 相关阅读:
    【开源我写的富文本】打造全网最劲富文本系列之技术选型
    【开源我写的富文本】打造全网最劲富文本技术选型之经典OOP仍是魅力硬核。
    Jquery会死吗?我为什么不用vue写富文本!
    JavaScript的因为所以
    JavaScript寻踪OOP之路
    JavaScript谁动了你的代码
    JavaScript神一样的变量系统
    JavaScript的前世今生
    ASPICE对追踪性和一致性要求
    ASPICE:能力等级评定
  • 原文地址:https://www.cnblogs.com/gui-lin/p/6828259.html
Copyright © 2011-2022 走看看