資料結構(二) 棧

2021-08-21 06:06:09 字數 731 閱讀 1937

棧也是一種線性儲存結構,具有先進後出的特點;word中的撤銷操作,作業系統的方法呼叫都利用了棧;棧還可以用來做匹配,比如括號匹配等;基於陣列的棧入棧push使用陣列的addlast()追加;取資料時使用陣列的getlast()做出棧pop()操作;

這次模擬實現的棧是基於上篇部落格實現的動態陣列實現的:

public inte***ce stack

package com.itheima.stack;

import com.itheima.array.array; //這裡的array是自己實現的動態陣列;**在「資料結構與演算法(一)——陣列」的部落格裡

public class arraystackimplements stack

public arraystack()

//入棧

public void push(e e)

//出棧

public e pop()

//取棧頂元素

public e peek()

public boolean isempty()

public int getsize()

@override

public string tostring() else' && stack.pop()!='

}return stack.isempty();

}}

資料結構(二)棧結構

template t stack pop void temp stacklist top top return temp 從棧頂壓入出乙個元素 templatet t stack push const t item top stacklist top item 讀棧頂元素 template t st...

資料結構 二 棧

1.簡介 1.1 棧stack 1 棧是一種線性結構 2 相比陣列,棧對應的操作是陣列操作的子集。3 棧的本質就是乙個陣列,我們把資料排開來放,但是規定 新增元素的時候只能從一端新增元素,也只能從一端取出元素。這一段通常稱為 棧頂 1.2 新增資料的規則 1 相當於在在乙個桶中新增資料。這個操作叫入...

資料結構(二) 棧

棧 stack 僅僅可以表尾插入和刪除操作。即我們可以認為,棧是先進後出的。棧就是一種特殊的線性表,即它存在前驅後繼關係。它特殊點在於,它限制了整個線性表的插入和刪除位置,只能在棧頂進行。函式名功能 initstack s 建立乙個空的棧s destroystack s 銷毀乙個棧s clearst...