真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c++模板實(shí)現(xiàn)隊(duì)列

隊(duì)列形象的說(shuō)就是大家放學(xué)去餐廳買(mǎi)飯要排隊(duì)一樣,先去的人就能先吃到,first in first out

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供西青網(wǎng)站建設(shè)、西青做網(wǎng)站、西青網(wǎng)站設(shè)計(jì)、西青網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、西青企業(yè)網(wǎng)站模板建站服務(wù),十多年西青做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

說(shuō)再多都是多余的,還是直接上代碼吧(ps.簡(jiǎn)單粗暴的我,哈哈哈)

.h

#include

using namespace std;

template

struct Node

{

Node* _next;

T  _data;

//這個(gè)不能忘

Node( T data)

:_next(NULL)

,_data(data)

{}

};

template

class queue

{

public:

//構(gòu)造函數(shù)

queue()

:_head(NULL)

,_tail(NULL)

{}

//拷貝構(gòu)造函數(shù)

queue(const queue& q)

:_head(NULL)

,_tail(NULL)

{

  Node*cur=q._head;

  while(cur)

  {

  this->push(cur->_data);

  cur=cur->_next;

  }

}

//賦值運(yùn)算符重載

queue& operator=(const queue& q)

{

if(this!=&q)

{

delete [] q;

  Node*cur=q._head;

  while(cur)

  {

  this->push(cur->_data);

  cur=cur->_next;

  }

  return *this;

}

}

//析構(gòu)函數(shù)

~queue()

{

Node* cur=_head;

  if(cur)

{

Node* del=cur;

cur=cur->_next;

delete del;

del=NULL;

}

}

//入隊(duì),相當(dāng)于尾插函數(shù)

void push(const T& x)

{

Node* newNode=new Node(x);

if(_head==NULL)

{

_head=newNode;

_tail=_head;

}

else

{

_tail->_next=newNode;

_tail=newNode;

}

}

//出隊(duì),相當(dāng)于頭插函數(shù)

void pop()

{

if(_head!=NULL)

{

   Node* del=_head;

  _head=_head->_next;

   delete del;

}

}

//打印隊(duì)列元素

void print()

{

Node* cur=_head;

if(_head==NULL)

{

 return;

}

else

{

while(cur)

{

cout<_data<<" ";

cur=cur->_next;

}

cout<<"over"<

}

}

//

T&Front()輸出對(duì)頭元素

{

if(!Empty)

{

  return _head->_data;

}

}

//輸出隊(duì)尾元素

T& Back()

{

if(!Empty)

{

  return _tail->_data;

}

}

//判斷隊(duì)列是否為空

bool Empty()

{

return (_head==NULL);

}

protected:

Node*_head;

Node*_tail;

};

.cpp

void TestQueue()

{

queue q1;

q1.push(1);

q1.push(2);

q1.push(3);

q1.push(4);

queue q2(q1);

queue q3=q2;

q1.print();

q2.print();

q3.print();

}

int main()

{

TestQueue();

system("pause");

return 0;

}

運(yùn)行結(jié)果

c++模板實(shí)現(xiàn)隊(duì)列


標(biāo)題名稱:c++模板實(shí)現(xiàn)隊(duì)列
分享路徑:http://weahome.cn/article/ggpggi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部