请教一个关于队列的效率的问题

tangtangbaobao 2008-12-06 04:22:11
一个队列数据结构,
每次都需要pop和push大量的元素,一般有几千几万个,
如果使用C++的queue 或者 MFC的CList 都只能一个一个的pop和push,
请问如何快速高效率的一次pop和push大量的元素, 使用memcpy之类的函数。
...全文
114 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tangtangbaobao 2008-12-10
谢谢各位, 准备用大数组来试一试。
回复
shyli 2008-12-09
3楼的思路是对的

#include <iostream>
using namespace std;
const int maxn = 1000000;
int top; // 栈顶位置
int ary[maxn];
void push(int a[], int size)
{
for (int i = 0; i < size; i++)
ary[top++] = a[i];
}
void pop(int out[], int size)
{
for (int i = 0; i < size; i++)
out[i] = ary[--top];
}
int main()
{
int a[5] = {1, 2, 3, 4, 5}, b[5];
push(a, 5);
pop(b, 5);
for (int i = 0; i < 5; i++)
cout<<b[i]<<' ';
cout<<endl;
}

当然上面的程序是实现思路
没有判断栈空时pop和栈满时push的情况。
回复
我知道vector里面有个reserve()
然后就可以像数组那样赋值了
x[0]=...
x[k]=..
回复
可以开一个大数组来进行循环使用,只要记录清楚当前头和尾的位置就可以了。
回复
hityct1 2008-12-06
一次取大量的元素,这个行为不像是队列了。
可以自己定义一个类,它表示的数据是有若干的连续空间组成的。

class MyQueue
{
.....
private:
vector< vector<elm> > m_Data;
}
我们可逻辑上把m_Data看成连续的空间。效率应该提高不少。
回复
sagegz 2008-12-06
没有研究...帮顶!
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需求分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
数据结构与算法
创建于2007-08-27

3.2w+

社区成员

数据结构与算法相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-12-06 04:22
社区公告
暂无公告