100題 02 設計包含min函式的棧

2021-09-06 02:32:22 字數 790 閱讀 6727

題目:定義棧的資料結構,要求新增乙個min函式,能夠得到棧的最小元素。要求函式min、push以及pop的時間複雜度都是o(1)。

以下是**

#pragma

once

template 

<

typename t

>

class

stack;

template 

<

typename t

>

class

stack_node

;template 

<

typename t

>

class

stack

~stack()

bool

is_empty()

bool

is_full()

t min()

void

push(t data)

}t pop()

t peek()

private

:stack_node

<

t>*a;

inttop;

intmin_index;

intsize;

};

測試**

#include 

"stack.h

"#include 

<

iostream

>

using

namespace

std;

intmain()

100題 設計包含min 函式的棧

定義棧的資料結構,要求新增乙個min 函式,能夠得到棧的最小元素。要求函式min push 以及pop 的時間複雜度都是 o 1 include include include using namespace std templateclass mystack 析構函式 virtual mystac...

02設計包含min函式的棧

題目 定義棧的資料結構,要求新增乙個min 函式,能夠得到棧的最小元素。要求函式min push 以及pop 的時間複雜度都是o 1 思路 元素結構裡包含乙個min域,表示當前元素壓棧後,當前棧內的最小元素的值。include using namespace std define stack siz...

第二題 設計包含min函式的棧

題目部落格 題目 定義棧的資料結構,要求新增乙個min函式,能夠得到棧的最小元素。要求函式min push以及pop的時間複雜度都是o 1 怎麼可能min.push,pop都為0 1 呢。我不信啊。author administrator import heapq class mystack def...