void init_queue(seqqueue* &Q)
另外循环队列入队(输入数据)不要用main函数里面那样直接输入数据。应该调用en_queue()函数,不然你的循环队列会错误。
queue<int>q;
这句结尾的分号不应该是中文的。
除此之外编译通过。但是正如上一位网友回答的,在最后运行到q.push(q.front())将会出错。
这里看到你有两个pop,如下修改代码即可获得所需效果。
修改原因见程序批注。
#include <cstdio>#include <queue>
using namespace std
queue<int> q
int main()
{
int n
scanf("%d",&n)
for(int i=0i<ni++)
q.push(i+1)
while(!q.empty())
{
printf("%d ",q.front())
//q.pop()这里pop出来以后有可能q.empty()为真了,所以下一条语句的q.front()无法执行了,请注意!
//q.push(q.front())
q.pop()
}
return 0
}
具体如下:更改:1、首先要进入UAC设置,点击“开始”按钮打开“开始”菜单,在下方的搜索框内输入“UAC”,接着上面会显示搜索结果,点击进入“更改用户账户控制设置”。2、打开“用户账户控制设置”窗口后,将滑块拖动至最底端,设置为“从不通知”,然后点击“确定”;3、然后再从“开始”菜单进入“控制面板--程序--程序和功能”,然后点击左侧的“打开或关闭Windows功能”;取消后重启计算机就可以。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)