線性表是具有相同資料型別的n(n≥0)個資料元素的有限序列。其中n為表長,當n=0時該線性表是乙個空表。若用l命名線性表,則其一般表示如下:
l=(a1,a2,...,ai,ai+1,...,an)
其中,a1是唯一的「第乙個」資料元素,又稱為表頭元素;an是唯一的「最後乙個」資料元素,又稱為表尾元素。除第乙個元素外,每個元素有且僅有乙個直接前驅。除最後乙個元素外,每個元素有且僅有乙個直接字尾。
由此,可以得出線性表的特點如下:
表中元素的個數有限。
表中元素具有邏輯上的順序性,在序列中各元素排序有其先後次序。
表中元素都是資料元素,每乙個元素都是單個元素。
表中元素的資料型別都相同。這意味著每乙個元素占有相同大小的儲存空間。
表中元素具有抽象性。即僅討論元素間的邏輯關係,不考慮究竟表示什麼內容。
線性表的基本操作如下:
initlist(&l):初始化表。構造乙個空的線性表。
length(l):求表長。返回線性表l的長度,即l中資料元素的個數。
locateelem(l,e):按值查詢操作。在表l中查詢具有給定關鍵字值的元素。
getelem(l,i):按位查詢操作。獲取表l中第i個位置的元素值。
listinsert(&l,i,e):插入操作。在表l中第i個位置上插入指定元素e。
listdelete(&l,i,&e):刪除操作。刪除表l中第i個位置的元素,並用e返回刪除元素的值。
printlist(l):輸出操作。按前後順序輸出線性表l的所有元素值。
empty(l):判空操作。若l為空表,則返回true,否則返回false。
destroylist(&l):銷毀操作。銷毀線性表,並釋放線性表l所佔的記憶體空間。
複習資料結構 線性表
線性表實現 陣列方式 隨機訪問很快,常數級別。但是增刪慢了,n級別。預先要知道線性表的大小 鍊錶方式 隨機訪問不急,n級別。但是增刪快,常數級別。就是c 的new delete操作效能不怎樣,可以用free list來維護增刪的節點。對於new delete操作有5倍左右提公升吧。基於陣列 指標構造...
資料結構複習之 線性表
線性表簡單地說就是資料元素的序列,即一對一關係 讀取 o 1 插入 刪除 o n 實現 package org.xiazdong.list public class myarraylist public myarraylist int length public myarraylist tarr e...
資料結構複習之線性表
基本概念 從邏輯上可以把資料結構分為線性結構和非線性結構兩大類。對於給定的n個元素,可以構造出的邏輯結構有 集合,線性結構,樹形結構,圖狀結構或網狀結構。乙個資料元素可以由若干個資料項組成。資料項是最小單位。線性表的順序表示指的是用一組位址連續的儲存單元依次儲存線性表的資料元素。構建乙個空的線性表 ...