tinystl實現(第十七步 stack實現)

2021-09-30 00:27:40 字數 1928 閱讀 7344

經過長時間的學習終於可以開始tinystl的仿(chao)寫工作了,本文參考了這位大神的github,坦白講我只是補充了注釋,因為tinystl的**真的非常經典而我又沒什麼這種大型專案的經驗,所以只能這樣做,不過相信能夠有助於大家的學習

#強烈建議按順序閱讀本專欄

stack的實現與前文queue的實現基本相同,只是封裝deque而已,前期工作做好的清空下實現非常輕鬆

#pragma once

#ifndef _stack_h_

#define _stack_h_

#include

"deque.h"

#include

"functional.h"

namespace mystl

explicit

queue

(const container_type& ctnr)

:container_

(ctnr)

bool

empty()

const

size_type size()

const

reference&

top(

) const_reference&

top(

)const

// reference& back()

// const_reference& back() const

void

push

(const value_type& val)

void

pop(

)void

swap

(stack& x)

public

:template

<

classt,

class

container

>

friend

bool

operator==(

const stack

& lhs,

const stack

& rhs)

;template

<

classt,

class

container

>

friend

bool

operator!=(

const stack

& lhs,

const stack

& rhs)

;template

<

classt,

class

container

>

friend

void

swap

(stack

& x, stack

& y);}

;template

<

classt,

class

container

>

bool

operator==(

const stack

& lhs,

const stack

& rhs)

template

<

classt,

class

container

>

bool

operator!=(

const stack

& lhs,

const stack

& rhs)

template

<

classt,

class

container

>

void

swap

(stack

& x, stack

& y)

#endif

LeetCode第十七題 Python實現

title leetcode no.17 categories tags 給定乙個僅包含數字 2 9 的字串,返回所有它能表示的字母組合。給出數字到字母的對映如下 與 按鍵相同 注意 1 不對應任何字母。示例 輸入 23 輸出 ad ae af bd be bf cd ce cf 說明 儘管上面的答...

第十七周總結

周工作總結及計畫表 部 門 理工大學 姓 名 冉濤 入 職 時 間 2015.7.5 本週已完成工作內容及總結 1 基本完成課程設計要求的三道題目,但還有一些小地方沒有做好,主要是在一些異常處理方面,主要是從控制台輸入時的型別轉換異常,以及gui介面的輸入為空的異常和型別轉換異常。2 課程設計的第四...

JAVA第十七課

一 序列化與反序列化 序列化是將物件的狀態寫入特定的流中的過程 反序列化則是從特定的流中獲取資料重新構建物件的過程 二 實現序列化的步奏 1 實現serilizable介面。2 建立物件輸出流 3 呼叫writeobject 方法將物件寫入檔案 4 關閉物件輸出流 三 常見異常 notseriali...