#include <iostream>
using namespace std;
template <class DataType>
struct Node{
DataType a;
Node<DataType> * next;
};
template <class DataType>
class LinkQueue{
public:
LinkQueue();
~LinkQueue();
void add();
bool del();
private:
Node<DataType> * end, * q;
};
template <class DataType>
LinkQueue <DataType>::LinkQueue(){
this.end->next = end;
this.q->next = end;
}
template <class DataType>
void LinkQueue <DataType>::add(){ //入队
Node<DataType> * p = new Node<DataType>();
cin>>p.a;
q->next = p;
p->next = end;
q = p;
}
template <class DataType>
bool LinkQueue<DataType>::del(){ //出队
if(end->next == end)
return false;
else{
Node<DataType> * s = new Node<DataType>();
s = end->next;
end->next = end->next->next;
delete(s);
}
return true;
}
int main(){
return 0;
}
假设以不带头结点的循环链表表示队列,并且只设一个指针指向队尾结点,但不设头指针。试设计相应的入队和出队的算法
最新推荐文章于 2026-05-12 06:37:13 发布
本文介绍了一种使用模板和链表实现泛型队列的方法。该队列支持入队和出队操作,并且能够处理任意类型的数据。通过具体的代码示例展示了如何定义节点结构、初始化队列、添加元素到队列尾部以及从队列头部删除元素。

885

被折叠的 条评论
为什么被折叠?



