//普通建構函式,構造乙個大小為maxsize的棧
cstack::cstack(int
maxsize)
//拷貝建構函式
cstack::cstack(const
cstack &stack)
//賦值函式
cstack & cstack::operator=(const
cstack &stack)
if(stack.m_top != 0)
//stack為空
} return
*this
; }
//向棧中壓入乙個元素nelement
void
cstack::push(
intnpushelement)
else
if(m_top == 0)
//棧空
else
else
m_pstackarr[m_top++].m_ndata= npushelement;
cout <
<
} }
//從棧中彈出乙個元素,並返回
void
cstack::pop()
else
} //o(1)的時間返回最小元素值
intcstack::min()
else
} cstack::~cstack(void
)
測試**:
[cpp]view plain
copy
// 棧和佇列的靈活應用一:包含min,max函式的棧.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include
#include "cstack.h"
using
namespace
std;
int_tmain(
intargc, _tchar* argv)
面試題30 包含min函式的棧
定義棧的資料結構,請在該型別中實現乙個能夠得到棧的最小元素的min函式。在該棧中,呼叫min push及pop的時間複雜度都是o 1 思路 利用乙個輔助棧來存放最小值 棧 3,4,2,1 輔助棧 3,3,2,1 每入棧一次,就與輔助棧頂比較大小,如果小就入棧,如果大就入棧當前的輔助棧頂 當出棧時,輔...
面試題30 包含min函式的棧
一 題目 定義棧的資料結構,請在該型別中實現乙個能夠得到棧的最小元素的min函式。在該棧中,呼叫min push及pop的時間複雜度都是o 1 二 關鍵 1.新增輔助棧,每次新增乙個元素,就往輔助棧中新增當前最小的那個元素。三 解釋 四 pragma once include include tem...
面試題30 包含min函式的棧
定義棧的資料結構,請在該型別中實現乙個能夠得到棧的最小元素的 min 函式在該棧中,呼叫 min push 及 pop 的時間複雜度都是 o 1 示例 minstack minstack new minstack minstack.push 2 minstack.push 0 minstack.pu...