大佬教程收集整理的这篇文章主要介绍了c – 实现队列,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include<iostream.h> class Queue { private: int data; Queue*next; public: void Enque(int); int Deque(); }*head,*tail; void Queue::enque(int data) { Queue *temp; temp=new Queue; temp->data=data; temp->next=NULL; if(heads==NULL) heads=temp; else tail->next=temp; tail=temp; } int Queue::deque() { Queue* temp;// temp=heads; heads=heads->next; return temp->data; }
我试图弄清楚为什么编译器告诉我我有一个多重定义
“头”和“尾巴” – 没有成功.
编辑:当编译器给出错误消息时,它会打开一个locale_faCETs.tcc文件
来自I-not-kNow-where并说错误在2497行中的以下函数中:
bool __verify_grouping(const char* __grouping,size_t __grouping_size,const String& __grouping_tmp)
有没有人有任何见解?
队列是标准的抽象数据类型.
它有几个与之相关的属性:
>它是一种线性数据结构 – 所有组件都排成一条直线.
>它有一个增长/衰减规则 – 从两端添加和删除队列.
>了解它们如何构建不应该成为使用它们的必要因素,因为它们具有可用的公共接口.
可以使用顺序数组或链接列表对队列进行建模.
如果您正在使用数组,则需要考虑一些因素,因为您在一个方向上增长,因此最终会耗尽数组.然后你可以做出一些选择(转变与成长).如果您选择返回到数组的开头(环绕),则必须确保头部和尾部不重叠.如果您选择简单地增加队列,则会浪费大量内存.
如果您使用的是Linked-List,则可以在任何位置插入,队列将从尾部增长并从头部缩小.您也不必担心填写列表并且必须包装/移动元素或增长.
但是,您决定实现队列,请记住Queues应提供一些使用队列的通用接口.这里有些例子:
> enqueue – 在队列的后面(尾部)插入一个元素
> dequeue – 从非空队列的前端(头部)删除元素.
> empty – 返回队列是否为空
> size – 返回队列的大小
您可能希望将其他操作添加到队列中(在C中,您可能需要一个到队列前/后的迭代器),但是如何构建队列不应该对它提供的操作产生影响.
但是,根据您希望如何使用队列,有更好的方法来构建它.通常的权衡是插入/移除时间与搜索时间的关系.这是@L_674_25@.
以上是大佬教程为你收集整理的c – 实现队列全部内容,希望文章能够帮你解决c – 实现队列所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。