使用stl 实现现有一个空队列q,按顺序将n个整数a1,a2,a3…入队,接着反复执行操作,将队首两个元素求和
时间: 2024-04-29 20:22:13 浏览: 18
可以使用C++ STL中的队列queue来实现该功能。具体代码如下:
```cpp
#include <iostream>
#include <queue>
using namespace std;
int main()
{
int n;
cout << "请输入整数个数n:";
cin >> n;
queue<int> q;
cout << "请输入" << n << "个整数:" << endl;
for (int i = 0; i < n; i++)
{
int a;
cin >> a;
q.push(a);
}
while (q.size() >= 2)
{
int a = q.front();
q.pop();
int b = q.front();
q.pop();
q.push(a + b);
cout << "队首两个元素之和为:" << a + b << endl;
}
cout << "最终队列中剩余的元素为:" << endl;
while (!q.empty())
{
cout << q.front() << " ";
q.pop();
}
cout << endl;
return 0;
}
```
该程序首先创建一个空队列q,然后依次输入n个整数并入队。接下来,通过一个while循环不断执行队首两个元素求和的操作,直到队列中只剩下一个元素为止。最后输出队列中剩余的元素,即程序执行的最终结果。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)