日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

理论基础 —— 队列 —— 链队列

發(fā)布時間:2025/3/17 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 理论基础 —— 队列 —— 链队列 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【實現(xiàn)類】

template<class T> struct Node{T data;Node *next; }; template<class T> class linkQueue{ public:linkQueue();~linkQueue();void push(T x);//入隊T pop();//出隊bool empty();//判斷隊列是否為空T getFront();//獲取隊首元素 private:Node<T> *head,*tail; };

【構(gòu)造函數(shù)】

template <class T> linkQueue<T>::linkQueue(){Node<T> s=new Node<T>;//創(chuàng)建一個頭結(jié)點s->next=NULL;head=tail=s;//隊首與隊尾指針指向頭結(jié)點 }

【析構(gòu)函數(shù)】

template<class T> linkQueue<T>::~linkQueue(){while(head!=NULL){Node<T> q=head;//暫存要被釋放的結(jié)點head=head->next;//first指向要被釋放的結(jié)點的下一個結(jié)點delete q;//刪除結(jié)點} }

【入隊】

template <class T> void linkQueue<T>::push(T x){//入隊Node<T> s=new Node<T>;//新申請結(jié)點s->data=x;s->next=NULL;tail->next=s;//結(jié)點s插到隊尾tail=s; }

【出隊】

template <class T> T linkQueue<T>::pop(){//出隊if(head==tail)throw "下溢";Node<T> p=new Node<T>;p=head->next;T x=p->data;//暫存出隊結(jié)點head->next=p->next;if(p->next==NULL)//判斷隊列此時是否為空tail=head;delete p;return x; }

【判斷是否為空】

template<class T> bool linkQueue<T>::empty(){//判斷隊列是否為空if(head==tail)return true;return false; }

【獲取隊首元素】

template<class T> T linkQueue<T>::getFront(){//獲取隊首元素if(head==tail)throw "下溢";return head->next->data; }

?

總結(jié)

以上是生活随笔為你收集整理的理论基础 —— 队列 —— 链队列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。