标题:请教STL算法
取消只看楼主
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
 问题点数:0 回复次数:12 
请教STL算法

请教在STL里面如何动态生成元素呢?我用new不行啊!!!

搜索更多相关主题的帖子: STL 算法 
2006-08-26 10:25
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
得分:0 

比如:用Queue来处理队列,要求Queue中的元素采用动态方式分配内存.

2006-08-26 13:00
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
得分:0 
queue<int>q=new queue<int>;我是这样写的,但是是错的,请指教下
2006-08-26 15:47
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
得分:0 
如果是这样的话,如何利用push和pop等等这样函数呢???请指教哈
2006-08-26 20:40
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
得分:0 

#include<iostream>
#include<queue>
#include<string>
using namespace std;
int choice;
void push(queue<int>&),pop(queue<int>&);
void main()
{
string poit;
//p=poit;
queue<int> *q=new queue<int>;
if(q->empty())cout<<"the queue is empth,please input the number"<<endl;

cout<<"Please Input data:";
q->push;

cout<<"the queue is"<<q->size<<endl;
cout<<"you want see the number\yes or no?";
cin>>poit;
if(poit=="no")cout<<"i am sorry!"<<endl;
if(poit=="yes")cout<<"the first number:"<<q->front<<endl;
q->pop;
}
void push(queue<int>& q)
{
while(true)
{
int num;
cin>>num;
if(num==0)break;
cout<<"push a data is"<<num<<endl;
q.push(num);
}
}
void pop(queue<int>& q)
{
while(!q.empty())
{
cout<<"i was delete"<<q.front()<<endl;
q.pop();
}
cout<<endl;
}
if(poit=="yes")cout<<"the first number:"<<q->front<<endl;为什么这句有错呢?请指教.......
我不是很明白啊

2006-08-26 22:03
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
得分:0 

这样虽然可以编译通过,可是却得不到答案,老兄,如果是这样写的话,我放进一个数到队列里去,再弹出来,怎么样做呢?请教教我!!!
我是菜鸟!!!

2006-08-26 22:48
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
得分:0 

如果做图形界面的话,是不是非得用vc++啊?c++里到底有没有图形函数呢?

2006-08-26 22:52
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
得分:0 
如果队列是空的话,push一个数进去啊!
2006-08-27 08:21
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
得分:0 
是这样的,我想通过q->push去调用自己写的那个push函数,再在push函数里放数进去!!!另外书上要求我们动态的输入,我不明白动态的输入是怎么回事情!!!
void push(queue<int>& q)
{
while(true)
{
int num;
cin>>num;
if(num==0)break;
cout<<"push a data is"<<num<<endl;
q.push(num);
}
}
2006-08-27 08:38
lw8484654
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-12-1
得分:0 
哦......是的.
另外我还想问个问题就是:在queue<int> *q=new queue<int>;这句里,这个是动态生成的,他的指针是如何指的呢?
能不能象数据结构的队列那样指呢?如果可以,怎么弄呢?
请指教!!!
2006-08-27 10:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-86229-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.112662 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved