線性表 棧和佇列

2021-07-04 23:07:10 字數 1233 閱讀 3448

線性表是n個元素的有限序列。表示方法有兩種,一種是順序表示,一種是鏈式表示。順序表示即採用一組位址連續的儲存單元依次儲存線性表的資料元素,通常採用陣列來實現;鏈式表示是用一組任意的儲存單元儲存線性表的資料元素,每一結點包含兩個域:資料域和指標域,資料域儲存資料,指標域儲存後繼儲存位址資訊,實現為:

int main()

lnode;

lnode lnode1,lnode2;

lnode1.data=5;

lnode1.next=&lnode2;

lnode2.data = 8;

lnode2.next =null;

lnode *p=&lnode1;

coutp=p->next ;

cout}

輸出結果為5,8,0

迴圈鍊錶是另一種形式的鏈式儲存結構,它的特點是表中最後乙個元素的指標域指向頭結點,整個鍊錶形成乙個環。

雙向鍊錶的每個結點有兩個指標域,乙個指向後繼結點,乙個指向前結點,實現為:

typedef

struct dullnode

lnode;

#include

using

namespace

std;

typedef

struct

stack

stack;

void initstack(stack &stack1);

void pushstack(stack &stack1,int a);

int main()

void initstack(stack &stack1)

stack1.top =stack1.base ;

}void pushstack(stack &stack1,int a)

*stack1.top=a;

stack1.top++;

}

佇列是一種先進先出(fifo)的線性表,只允許在表的一端進行插入,另一端進行刪除元素。允許插入的一端叫做隊尾,允許刪除的一端稱為對頭。佇列也有兩種儲存方式,分別為順序儲存和鍊錶儲存。如果結點使用鍊錶儲存,這佇列稱為鏈佇列。實現為:

typedef

struct qnode

qnode,*qnodeptr;

typedef

struct

linkqueue;

線性表 棧和佇列

一 線性表 list 1 定義 有序 有限的資料序列,其中的每個資料稱為元素 element 2 基本概念 空 empty 長度 length 頭 head 尾 tail 有序表 sorted list 無序表 unsorted list 3 基本操作 初始化 插入 刪除 訪問 修改 4 用抽象類 ...

線性表 棧 佇列

輔助定義 define maxsize 5 define ok 0 define error 1 typedef int selemtype typedef int status 棧 順序 鏈式 相關結構體定義 順序棧 typedef struct sqstack 順序棧共享空間 typedef s...

線性表 棧,佇列

1.3 棧 棧是一種先進後出的資料結構。只能在一端進行插入和刪除操作的特殊線性表。將資料進入棧稱為壓棧,資料出去稱為彈棧。壓棧 public void push t t 彈棧 public t pop 讓首結點指向第乙個結點的下乙個結點 head.next oldfirst.next 元素個數 1 ...