博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++实现队列
阅读量:6841 次
发布时间:2019-06-26

本文共 1616 字,大约阅读时间需要 5 分钟。

    参加“去哪儿”面试的一道题,面试官很严格,很注意细节,而我昨天从进门开始就犯迷糊,代码也写得一塌糊涂,回来后查了资料看了几遍,自己又写了几遍。这次面试得到的教训是:自己会的东西一定要懂得彻底,不能被问倒,尤其是基础的问题,更不能出现这种大概知道,细节实现不好的问题。

 

LinkQueue.h

#include
using namespace std;template
struct Node{ Node(T &d){ data=d; next=NULL; } T data; Node *next;};template
class LinkQueue{ private: int length; Node
*front; Node
*rear; public: LinkQueue(T &n){ Node
*p=new Node
(n); length=0; front=rear=p; } bool Queuelength() { cout<<"当前队列长度:"<
<
*p=new Node
(n); rear->next=p; rear=p; length++; } bool DelQueue(){ if(front==rear) return false; Node
*p=front->next; front->next=p->next; if(front->next==NULL) rear=front; delete p; length--; return true; } void Tranverse() { Node
*p=front->next; cout<<"遍历队列:"<
data<<" "; p=p->next; } cout<

 

 

 

LinkQueue.cpp

 

#include "LinkQueue.h"int main(){    int head=0;    LinkQueue
*lq=new LinkQueue
(head); lq->EnQueue(2); lq->EnQueue(4); lq->EnQueue(6); cout<<"当前队列"<
Tranverse(); if(lq->DelQueue()){ cout<<"出队成功"<
Queuelength(); lq->Tranverse(); lq->EnQueue(16); lq->EnQueue(18); lq->EnQueue(19); if(lq->DelQueue()){ cout<<"出队成功"<
Queuelength(); lq->Tranverse(); if(lq->DelQueue()){ cout<<"出队成功"<
Queuelength(); lq->Tranverse(); return 0;}

 

转载于:https://www.cnblogs.com/lanying/p/4889399.html

你可能感兴趣的文章