線性表的定義和基本操作

2022-06-20 03:57:11 字數 1934 閱讀 7840

提到線性這個詞,並不陌生,在 資料結構的基本概念 中學過線性的邏輯結構。線性邏輯結構是一對一關係,結點之間排成了一列或者一行,所以說線性表也是一種邏輯關係。有了對線性表的認知,那麼來看一下它的概念:

線性表是具有相同型別的 n (n>=0) 個元素的有限序列,其中 n 為表長,當 n=0 時,該錶為空表。

為什麼要相同型別?計算機在處理大量資料的時候,把相同的資料元素稱作為資料物件。往往要處理相同的資料元素,也就處理一種資料物件。不會把音訊和雜糅到一起進行處理。也不會把抽象事物,比如說人和汽車組合到一起進行處理。因為這樣沒有意義,也沒有高的效率。

對於相同型別,在接下來所學到的所有的資料結構中都有這樣的要求。因為具有相同型別的資料結構,它在解決實際問題,實現演算法時,才更加的有意義。其次,對於這個型別的範圍,它的定義其實並不狹隘,並不僅僅侷限於我們常見的型別,比如說整型、浮點型這樣的型別。對於從實際生活中抽象出來的型別,比如說一本書、乙個人也是可以作為乙個元素的。它與 c++ 中的物件導向的模擬較相似。

若 l 命名為線性表,則一般表示為:

在 l 當中,線性表的每乙個元素都具有相同型別,都是屬於同乙個資料物件的資料元素,分別是 a1、a2 一直到 an 。可以發現,對於所有的元素它都是有序號的。

那麼在表中,第乙個元素,稱它為表頭元素,最後乙個元素稱它為表尾元素。除了這樣,該線性表還有一些其他的邏輯關係。

線性表的九種基本操作:

接下來有兩種查詢操作,一種是按值查詢,另一種是按位查詢。首先是按值查詢操作,它叫做locateelem,elem 指的是元素。傳入的引數是線性表以及乙個值 e 來表示,它的意思是在表 l 中查詢具有給定關鍵字值的元素,也就是找到該表中值是 e 的元素。注意,往往查詢的過程當中,返回的值是第乙個查詢到的元素,也就是說假如在該表中有多個符合該值的元素,只返回查詢的第乙個。

接下來看按位查詢,它叫getelem,傳入的引數依舊是線性表,但是第二個引數有所不同,它是乙個 i 。這個 i 表示獲取表中第 i 個位置的元素。因為線性表每乙個元素都是有序號的,返回的就是序號是 i 的這個元素的值。還有一點需要注意的就是,按位查詢這個輸入的引數 i ,一定是在 0 到表長的大小之間,因為不可能找到比表長大的位置元素的值。

接下來看有關線性表插入和刪除的操作。首先來看插入的操作,叫listinsert,它的傳入引數有三個,第乙個是線性表的引用,這裡傳引用型別同樣是為了達到實現更方便。第二個傳入引數是 i ,也就是在第 i 個位置進行插入。第三個傳入的引數是插入的元素 e 。要注意的一點就是在所有線性表的插入操作中,所有的插入都是前插,也就是第 i 個位置的前乙個位置進行插入,這是乙個小的規定。

接下來看刪除操作。刪除操作叫listdelete,它傳入的引數也是三種,第乙個是線性表的引用,第二個表示要刪除的第 i 個位置的元素,最後乙個引數是值的引用,通過該引用返回該元素的值。插入與刪除操作同樣要注意,這個傳入引數 i 一定也在表長範圍之內,一旦超過表長,插入和刪除操作都沒有意義了。

然後看輸出操作。輸出操作很簡單,就是按前後順序輸出線性表 l 的所有元素的值。

最後還有兩個操作,乙個是判空操作,判斷該錶是否為空表,若是空表則返回 true,否則返回 false。另乙個是求表長,求表長的意思就是返回線性表的長度,即 l 中資料元素的個數。

以上就是線性表的基本操作。

線性表的基本定義和操作

目錄 線性表的順序表示 線性表是具有相同資料型別的n n geq 0 個資料元素的有限序列 其中n為表長,當n 0 n 0n 0時,該線性表是乙個空表。若用l ll命名線性表,則其一般表示如下 l a1,a 2,an l a 1,a 2 cdot cdot cdot a n l a1 a2 an 其...

線性表的定義和基本操作

目錄 一 定義 二 特點 三 線性表的主要操作 線性表具有 相同的資料型別 n n 0 個資料元素的 有限序列,n 為表長,當 n 0表示空表 一般表示為 l a 1,a,2 an 第乙個元素a1是第乙個元素表頭元素,an是最後乙個元素表尾元素,除第乙個元素外其他元素都有乙個前驅,除最後乙個元素外,...

線性表的定義和基本操作

線性表是具有相同資料型別的n n 0 個資料元素的有限序列,其中n為表長,當n 0時線性表是乙個空表。若用l命名線性表,則其一般表示為 l a1,a2,ai,ai 1,an 幾個概念 ai是線性表中的 第i個 元素線性表中的位序,a1是表頭元素 an是表尾元素。除第乙個元素外,每個元素有且僅有乙個直...