21 包含min函式的棧 C 版本

2021-10-01 11:12:03 字數 765 閱讀 8244

實現思路:

用乙個棧(資料棧)儲存資料,另外乙個棧(最小值棧)儲存最小值。

每次push時,將資料直接壓入資料棧,然後將資料根據條件壓入到最小值棧。如果最小值棧為空,直接壓入最小值棧。如果資料比最小值棧棧頂元素小,則將其壓入最小值棧。否則壓入最小值棧棧頂元素。

每次pop時,將資料棧和最小值棧的棧頂都進行pop。

實現**:

標頭檔案stackwithmin.h

class

stackwithmin

;

標頭檔案stackwithmin.cpp

bool stackwithmin::

empty()

std::size_t stackwithmin::

size()

int stackwithmin::

top(

)void stackwithmin::

push

(int newdata)

// 這是重點

void stackwithmin::

pop(

)// 這是重點

int stackwithmin::

min(

)// 這是重點

面試題21 包含min函式的棧

普通建構函式,構造乙個大小為maxsize的棧 cstack cstack int maxsize 拷貝建構函式 cstack cstack const cstack stack 賦值函式 cstack cstack operator const cstack stack if stack.m to...

18 包含min函式的棧

包含min函式的棧 定義棧的資料結構,請在該型別中實現乙個能夠得到棧最小元素的min函式。劍指offer上的例子講解的非常精彩。error control may reach end of non void function werror,wreturn type 意為無法找到non void fu...

20 包含min函式的棧

思路1 選用存放資料的棧s和存放當前最小值的輔助棧mins,當s記憶體入比當前最小值還小的樹,則該數字入輔助棧,若存放值比當前最小值大,則再次存入當前最小值到輔助棧 這樣mins存在冗餘資訊,可進一步改進。1 class solution else void pop int top int min ...