繼續複習資料結構,今天覆習最為基礎的線性表部分。
首先來介紹什麼是線性表
線性表是 n (≥0) 個資料元素的有限序列,記作
(a1, a2, …, an)
ai 是表中資料元素,n 是表長度。
線性表的特點
線性表是客觀事物的抽象
是我們對現實事物的抽象表達
接下來介紹其抽象資料型別
基於其抽象資料型別的基本運算
或許你會好奇這線性表有什麼用
在這裡 我要先說 線性表十分重要
隨著學習越來越深入,你一定會覺得線性表是十分重要的
最後介紹一下線性表的知識結構
從現在開始,就要了解真正的資料結構了
先是比較簡單線性表的順序儲存結構——線性表
用計算機c語言表示就是陣列
只是這個陣列有些不一樣
它是這樣定義的
typedef
struct
sqlist;
**接下來就是重點了
用c語言實現上面提到的基本運算
1、建立順序表
void
createlist
(sqlist *
&l,char a,
int n)
//順序建立順序表
2、初始化線性表initlist(&l)
void
initlist
(sqlist *
&l)
3、銷毀線性表destroylist(&l)
void
destroylist
(sqlist *
&l)
4、判定是否為空表listempty(l)
bool listempty
(sqlist *
&l)
5、求線性表的長度listlength(l)
int
listlength
(sqlist *
&l)
6、輸出線性表displist(l)
void
displist
(sqlist *
&l0
7、求某個資料元素值getelem(l,i,&e)
bool getelem
(sqlist *l,int i,char
&e)
8、按元素值查詢locateelem(l,e)
int
locateelem
(sqlist *l, char e)
9、插入資料元素listinsert(&l,i,e)
bool listinsert
(sqlist *
&l,int i,char e)
10、刪除資料元素listdelete(&l,i,e)
bool listdelete
(sqlist *
&l,int i,char
&e)
以上便是順序表的全部操作了
再介紹它們的應用
這次就到此為止了
資料結構複習之 線性表
線性表簡單地說就是資料元素的序列,即一對一關係 讀取 o 1 插入 刪除 o n 實現 package org.xiazdong.list public class myarraylist public myarraylist int length public myarraylist tarr e...
資料結構複習之線性表
基本概念 從邏輯上可以把資料結構分為線性結構和非線性結構兩大類。對於給定的n個元素,可以構造出的邏輯結構有 集合,線性結構,樹形結構,圖狀結構或網狀結構。乙個資料元素可以由若干個資料項組成。資料項是最小單位。線性表的順序表示指的是用一組位址連續的儲存單元依次儲存線性表的資料元素。構建乙個空的線性表 ...
複習資料結構 線性表
線性表實現 陣列方式 隨機訪問很快,常數級別。但是增刪慢了,n級別。預先要知道線性表的大小 鍊錶方式 隨機訪問不急,n級別。但是增刪快,常數級別。就是c 的new delete操作效能不怎樣,可以用free list來維護增刪的節點。對於new delete操作有5倍左右提公升吧。基於陣列 指標構造...