中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

做外貿(mào)家紡資料網(wǎng)站重慶店鋪整站優(yōu)化

做外貿(mào)家紡資料網(wǎng)站,重慶店鋪整站優(yōu)化,wordpress轉(zhuǎn)載文章,wordpress 論壇模版目錄 前言 數(shù)據(jù)結(jié)構(gòu) deque vector和list的優(yōu)缺點 push pop top size empty 完整代碼 前言 stack類就是數(shù)據(jù)結(jié)構(gòu)中的棧 C數(shù)據(jù)結(jié)構(gòu):棧-CSDN博客 stack類所擁有的函數(shù)相比與string、vector和list類都少很多,這是因為棧這個數(shù)據(jù)結(jié)構(gòu)是后進先出的…

目錄

前言

數(shù)據(jù)結(jié)構(gòu)

deque

vector和list的優(yōu)缺點

push

pop

top

size

empty

完整代碼


前言

stack類就是數(shù)據(jù)結(jié)構(gòu)中的棧

C數(shù)據(jù)結(jié)構(gòu):棧-CSDN博客

stack類所擁有的函數(shù)相比與string、vector和list類都少很多,這是因為棧這個數(shù)據(jù)結(jié)構(gòu)是后進先出的,它必須被有所限制,所以所能用的函數(shù)只需要那幾個足矣

棧可以用順序表來實現(xiàn),也可以用鏈表來實現(xiàn),我們只需要控制它先進先出的特性即可,用什么容器實現(xiàn)取決于個人

因為我們前面實現(xiàn)了vector和list類,所以再實現(xiàn)stack類就容易很多了,只需要復(fù)用vector和list容器內(nèi)的函數(shù)即可

數(shù)據(jù)結(jié)構(gòu)

template<class T, class Container = std::deque<T>>
class stack
{
public:private:Container _con;
};

這里的模板有兩個,T是棧的類型,Container表示的是所需要使用哪個容器來實現(xiàn)這個棧

我們需要用這個Container里面的成員函數(shù)來復(fù)用從而輕松的實現(xiàn)這個棧

這里的Container默認是deque

deque

deque(雙端隊列)也是STL中的一個容器,它是vector和list的結(jié)合

vector和list的優(yōu)缺點

vector優(yōu)點:

1. 隨機訪問效率高

2. 在內(nèi)存中連續(xù)存儲,緩存命中率高

vector缺點:

1. 插入和刪除效率低

2. 空間分配不靈活(利用率低)

list優(yōu)點:

1. 插入和刪除效率高

2. 空間利用率高

list缺點:

1. 訪問數(shù)據(jù)速度慢

2. 緩存利用率低(空間不連續(xù),緩存命中率低)

為什么說deque是vector和list的結(jié)合?

下面是deque的數(shù)據(jù)結(jié)構(gòu)圖片

deque有n個buffer緩沖區(qū)(個數(shù)取決于數(shù)據(jù)個數(shù))

這個緩沖區(qū)比list的空間大,像是一個小型數(shù)組,這個數(shù)組由中控器控制

而中控器可以通過一個數(shù)組來存儲一個個的指針,這些指針又指向一個個緩沖區(qū),所以它能夠控制每一個緩沖區(qū)

iterator迭代器的cur、first和last來控制緩沖區(qū)的數(shù)據(jù),node則表示是哪一個緩沖區(qū)

deque總結(jié):

1. deque的頭尾插入效率高

2. 下標的隨機訪問效率也還可以

3. 中間插入刪除的效率很低(O(N))

push

void push(const T& x)
{_con.push_back(x);
}

棧的push就是插入到最后的位置,所以只需要復(fù)用容器中的push_back函數(shù)即可

deque、vector和list都有這些函數(shù),所以這三個容器都可以用來實現(xiàn)stack類

pop

void pop()
{_con.pop_back();
}

棧的pop就是尾刪,所以只需要復(fù)用pop_back函數(shù)即可?

top

const T& top() const
{return _con.back();
}

棧的top就是取尾部數(shù)據(jù),返回back函數(shù)即可?

size

size_t size() const
{return _con.size();
}

棧的size就是取得棧的數(shù)據(jù)個數(shù),返回容器的size函數(shù)即可?

empty

bool empty() const
{return _con.empty();
}

棧的empty就是判斷棧是否為空,返回empty函數(shù)即可

只要上述的函數(shù)名哪個類中有,并且功能相同,就可以使用那個類來完成stack的實現(xiàn)

完整代碼

#pragma once#include<iostream>
#include<deque>namespace lyw
{template<class T, class Container = std::deque<T>>class stack{public:void push(const T& x){_con.push_back(x);}void pop(){_con.pop_back();}const T& top() const{return _con.back();}size_t size() const{return _con.size();}bool empty() const{return _con.empty();}private:Container _con;};
}

http://www.risenshineclean.com/news/23305.html

相關(guān)文章:

  • 關(guān)于做花茶網(wǎng)站的策劃書windows優(yōu)化大師有必要安裝嗎
  • 哈爾濱 微網(wǎng)站設(shè)計百度站長工具
  • 政府網(wǎng)站建設(shè)開題報告企業(yè)網(wǎng)站怎么制作
  • 個人免費網(wǎng)站注冊seo整站優(yōu)化服務(wù)
  • 在線代碼編輯器seo 優(yōu)化案例
  • 音樂網(wǎng)站開發(fā)分享企拓客軟件怎么樣
  • 如何給自己網(wǎng)站做反鏈全國今日新增疫情
  • 網(wǎng)站制作設(shè)計方案行業(yè)網(wǎng)站網(wǎng)址
  • 天津外貿(mào)網(wǎng)站建設(shè)阿里云域名注冊流程
  • 十堰網(wǎng)站建設(shè)公司公司品牌推廣方案范文
  • 托管型網(wǎng)站專業(yè)網(wǎng)絡(luò)推廣公司排名
  • wordpress4.0 中文深圳專業(yè)seo
  • 有哪些做海島的網(wǎng)站seo推廣主要做什么
  • 模板制作方法重慶seo網(wǎng)頁優(yōu)化
  • 想做一個自己的網(wǎng)站 怎么做北京谷歌優(yōu)化
  • 網(wǎng)站服務(wù)器提供商北京seo顧問推推蛙
  • 圖書信息管理系統(tǒng)代碼網(wǎng)站建設(shè)seo搜索引擎優(yōu)化哪家好
  • 重慶速代網(wǎng)絡(luò)科技天津seo網(wǎng)絡(luò)營銷
  • 淘客的手機網(wǎng)站怎么做網(wǎng)頁關(guān)鍵詞優(yōu)化軟件
  • 空中客車網(wǎng)站建設(shè)需求百度搜索下載app
  • 網(wǎng)站建設(shè)團隊拍照網(wǎng)站權(quán)重查詢接口
  • 威聯(lián)通231p做網(wǎng)站今晚賽事比分預(yù)測
  • 九江建設(shè)監(jiān)督網(wǎng)站國外友鏈買賣平臺
  • 專業(yè)網(wǎng)站建設(shè)知識免費seo快速收錄工具
  • 公司做網(wǎng)站哪里做南京seo優(yōu)化
  • 網(wǎng)站建設(shè)服務(wù)流程企業(yè)推廣方案
  • 具有價值的常州做網(wǎng)站安卓aso優(yōu)化工具
  • 紅星美凱龍建設(shè)事業(yè)中心網(wǎng)站網(wǎng)站免費高清素材軟件
  • 用哪個程序做網(wǎng)站收錄好今日熱點新聞頭條排行榜
  • 凡科建站官網(wǎng)登滄州網(wǎng)站運營公司