14_线性表的本质和操作

作者: 编程半岛 | 来源:发表于2018-01-22 22:18 被阅读3次

    关键词:线性表

    1. 线性表(List)的表现形式

    • 零个多个数据元素组成的集合
    • 数据元素在位置上是有序排列的
    • 数据元素的个数是有限的
    • 数据元素的类型必须相同

    2. 线性表的抽象定义

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

    (a0, a1, a2, ..., an-1)
    ai是表项(数据元素), n是表长度
    

    3. 线性表的性质

    • a0为线性表的第一个元素,只有一个后继
    • an-1为线性表的最后一个元素,只有一个前驱
    • 除a0和an-1外的其它元素ai,既有前驱,又有后继
    • 直接支持逐项访问和顺序存取

    4. 线性表的常用操作

    • 将元素插入线性表
    • 将元素从线性表中删除
    • 获取目标位置处元素的值
    • 设置目标位置元素的值
    • 获取线性表的长度
    • 清空线性表

    5. 线性表抽象类的实现

    List.h

    #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() = 0;
        virtual bool clear() = 0;
    };
    
    }
    
    #endif // LIST_H
    

    6. 小结

    • 线性表是数据元素的有序并且有限的集合
    • 线性表中的数据元素必须是类型相同的
    • 线性表可用于描述排队关系的问题
    • 线性表在程序中表现是一种特殊的数据类型
    • 线性表在C++中表象为一个抽象类

    声明:此文章仅是本人在学习狄泰学院《数据结构实战开发教程》所做的笔记,文章中包含狄泰软件资料内容,一切版权归狄泰软件所有!
    实验环境:ubuntu10 + Qt Creator2.4.1 + Qt SDK 4.7.4

    相关文章

      网友评论

        本文标题:14_线性表的本质和操作

        本文链接:https://www.haomeiwen.com/subject/inbraxtx.html