社区
C语言
帖子详情
关于队列的简单问题
gsp397
2003-08-18 05:12:02
怎样遍历队列,并修改其中某一个元素呢,好象没有相关的成员函数,需要用泛型算法吗
假如现在队列中现有元素为 4,3,2,9,8,5
我现在想找到比3小(这个是查找条件)的元素(当然是2),并删除它,怎么办?
...全文
89
8
打赏
收藏
关于队列的简单问题
怎样遍历队列,并修改其中某一个元素呢,好象没有相关的成员函数,需要用泛型算法吗 假如现在队列中现有元素为 4,3,2,9,8,5 我现在想找到比3小(这个是查找条件)的元素(当然是2),并删除它,怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
madasoft
2003-08-18
打赏
举报
回复
他不仁,你不义,管他呢!
-----------------------
说得好!我直接访问你的内存,把你干掉,呵呵。
happycock
2003-08-18
打赏
举报
回复
严格意义上所谓的队列就是要满足先进先出的原则,并且除去进口和出口,不可以在其他操作数据。如果你非要在中间修改数据,就违背了队列的定义,又何必用队列来实现?
同意楼上的。
实际上,还有优先队列,这个不是严格意义上的队列了。然而我们的专家们这么干,只会让初学者疑惑。
对于楼主的要求,可以用vector或者list来代替,因为他们对外表现也可以成为“队列”。就不要追求什么定义上的严格了——他不仁,你不义,管他呢!
njtu
2003-08-18
打赏
举报
回复
使用vector吧,这可不是队列噢!
vector<int> vec(5);
vector<int>::iterator iter = vec.begin();
iter = vec.find_if(vec.begin(),vec.eng(),func()) //这里是自己的判断函数
vec.erase(iter);
也可以不用标准库,自己写一个链表结构,然后函数实现。
made_in_
2003-08-18
打赏
举报
回复
严格意义上所谓的队列就是要满足先进先出的原则,并且除去进口和出口,不可以在其他操作数据。如果你非要在中间修改数据,就违背了队列的定义,又何必用队列来实现?
可以换种方式,比如vector或者list什么的来实现你所需要的功能。
当然,如果不用队列不行的话,你也可以自己为队列添加这种功能,伪码如下:
void deleteFromQueue(Queue& src, int element)
{
Queue qt;
int t;
while(!src.Empty()){
if( (t = src.pop()) > element)
qt.push(t);
}
while(qt.Empty())
src.push(qt.pop());
}
gsp397
2003-08-18
打赏
举报
回复
难道一定要用链表才行?
airtraffic
2003-08-18
打赏
举报
回复
在标准库中,没有你要实现的队列遍历操作啊!
gsp397
2003-08-18
打赏
举报
回复
不是 我的程序题目明明写着 两个队列(一定有我说的那种操作)和一个链表
ZhangYv
2003-08-18
打赏
举报
回复
队列能遍历吗?满足先进先出的结构才称为队列.楼主是指链表吧?
RabbitMQ消息
队列
消息
队列
是进阶学习中必须要掌握的。这套视频用通俗易懂的语言讲解RabbitMQ消息中间件的原理和架构,如何解决高并发,达到高可用,包括原理讲解和部署及代码实现。所有资料均免费。
7-18 银行业务
队列
简单
模拟 (25 分)
7-18 银行业务
队列
简单
模拟 (25 分)(Python版)
问题
描述 设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行...
7-18 银行业务
队列
简单
模拟
7-18银行业务
队列
简单
模拟 设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的...
C# 消息
队列
简单
例子
这些
问题
,本文章就不做解释,因为本篇文章只告诉大家如何
简单
使用消息
队列
,对于以上
问题
,各位可以网上查找一下相关资料查阅,博主推荐一篇博客供各位大哥参考https://www.cnblogs.com/terry-love/p/11492397.html...
7-1 银行业务
队列
简单
模拟
7-1 银行业务
队列
简单
模拟 设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的...
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章