線性資料結構

2022-07-10 03:27:08 字數 1287 閱讀 1255

使用一組連續的儲存空間

儲存相同型別的資料

陣列的插入以及刪除操作是低效的

假設陣列的長度為n插入資料的位置為i,則要將i~n的資料全部向後移動,效率偏低,刪除操作同理。

稀疏陣列

當二維陣列中只存放了少量資料的時候,可以考慮採用稀疏陣列來減少空間的使用

記錄二維陣列中的有效資料個數記作n

記錄每個有效資料的座標

建立[n+1] [3]大小的稀疏陣列(第一行記錄原陣列大小以及有效資料,其餘行記錄有效資料座標以及值)

根據稀疏陣列還原二維陣列

使用不連續的記憶體空間動態的儲存資料

單向鍊錶(包含頭節點和不包含頭節點的,視情況而定),本文為包含頭節點

定義乙個單向鍊錶,包含乙個頭節點(無任何實際作用,僅作標識)

增加節點

修改節點

刪除節點

遍歷鍊錶

雙向鍊錶

單向鍊錶

雙向鍊錶

data,next指標

data,next,pre指標

只能從前往後遍歷鍊錶

能夠雙向遍歷鍊錶

不能自我刪除節點

能夠自我刪除節點

前奏:定義乙個節點,包含資料域和指標域(鏈結下乙個節點--next和上乙個節點--pre)

定義乙個雙向鍊錶,包含乙個頭節點(無任何實際作用,僅作標識)

增加節點

修改節點

刪除節點

遍歷鍊錶

josephu(約瑟夫問題)

題目描述:有n個小孩圍成一圈,從第i個小孩開始報數,數到s的小孩出隊,得到出隊的順序

特點:先進先出

使用陣列模擬佇列

特點時先進後出

應用場景

使用鍊錶模擬棧

public class linkedstack}}

}​//定義鍊錶節點物件

class node{

private int value;

private

資料結構 線性結構

typedef int position typedef struct lnode list struct lnode 初始化 list makeempty 查詢 define error 1 position find list l,elementtype x 插入 bool insert lis...

資料結構 線性結構

線性表基本操作有 1 list makeempty 初始化乙個新的線性表 2 elementtype findkth list l,int i 根據指定的位序i,返回l中相應元素ai i是下標 3 position find list l,elementtype x 已知x,返回線性表l中與x相同的...

線性資料結構

一般將資料結構分為兩在類 線性資料結構和非線性資料結構。線性資料結構有線性表 棧 佇列 串 陣列和檔案 非線性資料結構有樹和圖。線性表 一 arraylist 1 arraylist底層採用陣列實現,當使用不帶引數的構造方法生成arraylist物件時,實際上會在底層生成長度為10的object型別...