數據結構_線性表的本質和操做

一、線性表

線性表(List)的表現形式c++

  • 零個或多個數據元素組成的集合
  • 數據元素在位置上是有序排列的
  • 數據元素的個數是有限的
  • 數據元素的類型必須相同

線性表的抽象定義:code

線性表是具備相同類型的$n(\geq0)$ 個數據元素的有限序列rem

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

$a_i$是表項(數據元素), $n$是表長度模板

二、線性表的性質

  • $a_0$爲線性表的第一個元素,只有一個後繼
  • $a_{n-1}$爲線性表的最後一個元素,只有一個前驅
  • 除$a_0$和$a_{n-1}$外的其它元素$a_i$,既有前驅,又有後繼
  • 直接支持逐項訪問和順序存取

三、線性表的程序實現

線性表的經常使用操做class

  • 將元素插入線性表
  • 將元素從線性表中刪除
  • 獲取目標位置處元素的值
  • 設置目標位置處元素的值
  • 獲取線性表的長度
  • 清空線性表

線性表在程序中的表現形式爲一種特殊的數據類型List

建立一個類模板數據類型

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

四、小結

線性表是數據元素的有序而且有限的集合

線性表的數據元素必須是類型相同的程序

線性表可用於描述排隊關係的問題數據

線性表在程序中表現爲一種特殊的數據類型

線性表在C++中表現爲一個抽象類

相關文章
相關標籤/搜索