數據結構學習筆記(三)--線性表的定義和基本操作


數據結構學習筆記(三)--線性表的定義和基本操作

數據結構三要素 --邏輯結構、數據的運算、存儲結構(物理結構)

  • 定義便是邏輯結構

  • 基本操作就是運算

  • 存儲結構不同,運算的實現方式不同

點擊進入上一篇:數據結構學習筆記(二)--空間復雜度

線性表的定義

線性表是具有相同數據類型的n(n≥0)個數據元素的有限序列,其中n為表長,當n = 0時線性表是一個空表。若用L命名線性表,則其一般表示為: L = (a1 , a2 , ... , ai , a(i+1) , ... , an)。

注:線性表角標是從1開始的。

圖形顯示:

B702FQ6_2J6O`B_04UE9_DB.png

特性:

  1. 一個線性表中,所有數據元素數據類型都相同,即意味着每個數據元素所占空間一樣大。
  2. 線性表是一個序列,故其有次序。
  3. 線性表是有限的。

線性表的概念匯總

  1. ai是線性表中的“第i個”元素線性表中的位序
  2. a1是表頭元素,an是表尾元素
  3. 除第一個元素外,每個元素有且僅有一個直接前驅;除最后一個元素外,每個元素有且僅有一個直接后繼

線性表的基本操作

類似java學習的curd(增刪改查)但又不完全一樣,大概有如下幾種:

  • InitList(&L):初始化表。構造一個空的線性表L,分配內存空間
  • DestroyList(&L): 銷毀操作。銷毀線性表,並釋放線性表L所占用的內存空間
  • ListInsert(&L,i,e):插入操作。在表L中的第i個位置上插入指定元素e。
  • ListDelete(&L,i,&e):刪除操作。刪除表L中第i個位置的元素,並用e返回刪除元素的值。
  • LocateElem(L,e):按值查找操作。在表L中查找具有給定關鍵字值的元素。
  • GetElem(L,i):按位查找操作。獲取表L中第i個位置的元素的值。

其他常用操作

  • Length(L):求表長。返回線性表L的長度,即L中數據元素的個數。
  • PrintList(L):輸出操作。按前后順序輸出線性表L的所有元素值。
  • Empty(L):判空操作。若L為空表,則返回true,否則返回false。

筆記

  1. 對數據的操作的記憶思路:一般都為創銷、增刪改查
  2. 描述基本操作的方法類似於偽代碼,並不需要標明參數類型和返回值類型,具體在代碼中實現才需要。
  3. 實際開發中,可根據實際需求定義其他的基本操作。
  4. 函數名和參數的形式與命名要求具有可讀性,例如駝峰命名法
  5. 什么時候要傳入引用“&” --對參數的修改結果需要“帶回來”,也就是c++的引用指針。

點擊進入下一篇:數據結構學習筆記(四)--順序表


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM