美文网首页
一、数据结构_线性表的本质和操作

一、数据结构_线性表的本质和操作

作者: _Ke_ | 来源:发表于2018-08-14 11:02 被阅读6次

1、线性表

线性表(List)的表现形式

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

线性表的抽象定义:

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

(a_0, a_1, ..., a_{n-1})

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

2、线性表的性质

  • a_0为线性表的第一个元素,只有一个后继
  • a_{n-1}为线性表的最后一个元素,只有一个前驱
  • a_0a_{n-1}外的其它元素a_i,既有前驱,又有后继
  • 直接支持逐项访问和顺序存取

3、线性表的程序实现

线性表的常用操作

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

线性表在程序中的表现形式为一种特殊的数据类型

创建一个类模板

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;
}

4、小结

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

线性表的数据元素必须是类型相同的

线性表可用于描述排队关系的问题

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

线性表在C++中表现为一个抽象类

相关文章

  • 栈和队列—什么是栈

    栈和队列是两种重要的数据结构 从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子...

  • 栈和队列—什么是队列

    栈和队列是两种重要的数据结构 从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子...

  • 线性表--栈(Stack)

    一种"操作受限"的线性表数据结构--栈(Stack) 栈(Stack)是限定尽在表尾部进行插入和删除操作的线性表。...

  • 一、数据结构_线性表的本质和操作

    1、线性表 线性表(List)的表现形式 零个或多个数据元素组成的集合 数据元素在位置上是有序排列的 数据元素的个...

  • 栈和队列

    栈和队列是两种应用非常广泛的数据结构,它们都来自线性表数据结构,都是“操作受限”的线性表。 栈 栈(Stack):...

  • 数据结构与算法 — 栈

    栈和队列是两种重要的现行结构。从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子...

  • 栈和队列

    栈和队列也是一种线性表,只不过它们是一种操作受限的线性表。其存储形式还是可以按照线性表的数据结构来表示(顺序表示:...

  • 栈与队列的简单实现

    栈和队列是两种重要的线性结构。从数据结构看,它们也是线性表,其特殊性在于它们的基本操作是线性表操作的子集,也具有顺...

  • 【数据结构】线性表之单链表

    完整代码需结合前面一篇顺序表数据结构学习-线性表之顺序表各种操作网易云课堂小甲鱼课程链接:数据结构与算法 线性表的...

  • 数据结构

    数据结构讲的到底是什么? 我感觉就是数据的组织形式和对这种数据形式的操作。 比如线性表,线性表就是一个序列,每个元...

网友评论

      本文标题:一、数据结构_线性表的本质和操作

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