資料結構 六 棧 陣列和鍊錶兩種模擬方式

2022-07-20 03:48:11 字數 1557 閱讀 3432

棧的英文是stack。

棧是乙個先入後出(first in last out)的有序列表

思路分析圖

**實現

class stack1

// 判斷棧滿

public boolean isfull()

// 判斷棧空

public boolean isempty()

// 入棧

public void push(int value)

pop++;

stack[pop] = value; }

// 出棧

public int pop()

int value = stack[pop];

pop--;

return value; }

// 遍歷棧

public void list()

for(int i = pop; i >= 0; i--) }

// 檢視棧頂

public int peek()

return stack[pop];

}}

思路分析邏輯如上圖

**實現

// 使用單向鍊錶模擬棧

class stack2

temp = temp.next;

} temp.next = hero; }

// 出棧

public void pop()

// 定義臨時節點

heronode temp = head;

while(true)

temp = temp.next;

} temp.next = null; }

// 遍歷

public void list()

// 定義臨時節點

heronode temp = head.next;

while(true)

system.out.println(temp);

temp = temp.next;

} }// 檢視棧頂

public heronode peek()

// 定義臨時節點

heronode temp = head;

while(true)

temp = temp.next;

} return temp; }}

// 建立節點類

class heronode

// 用來建立資料節點

public heronode(int no, string name, string nickname)

@override

public string tostring()

}

兩種棧的實現 順序棧和鍊錶棧

棧 一 定義 棧是限定盡在一端插入或刪除操作的線性表。後進先出 lifo 二 習慣上稱棧的可訪問元素為站棧頂 top 元素,元素插入棧稱為入棧 push 刪除元素稱為出棧 pop 三 棧的adt template class stack 建構函式 virtual stack 析構函式 virtual...

陣列模擬棧資料結構

棧又名堆疊,它是一種運算受限的線性表。其限制是僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。向乙個棧插入新元素又稱作進棧 入棧或壓棧,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素。2 先進後出 後進先出 3 棧具有記憶功能 4 棧頂通常用 top 表示,棧底...

資料結構 最小棧的兩種實現方法

一切都在注釋裡 seqstcak.h pragma once include includetypedef char seqtype define seqdatamax 1000 建立乙個棧的結構體 typedef struct seqstackseqstack 初始化棧 void seqstack...