队列的输入和输出c++
时间: 2023-12-11 09:29:55 浏览: 46
在C++中,我们可以使用STL库中的queue来实现队列的输入和输出。queue是一个模板类,可以存储任何类型的数据。队列的输入可以使用push()函数,输出可以使用front()函数获取队首元素,使用pop()函数弹出队首元素。下面是一个简单的队列代码示例:
```
#include <iostream>
#include <queue>
using namespace std;
int main() {
queue<int> q;
for (int i = 0; i < 10; i++) {
q.push(i); // 入队
}
while (!q.empty()) {
cout << q.front() << " "; // 输出队首元素
q.pop(); // 弹出队首元素
}
return 0;
}
```
输出结果为:0 1 2 3 4 5 6 7 8 9。
另外,如果需要输出换行符,可以使用endl,例如:
```
cout << "Hello World!" << endl;
```
输出结果为:
```
Hello World!
```
相关问题
c++链队列输出杨辉三角
```c
#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 100 // 定义队列最大长度
typedef struct {
int data[MAXSIZE];
int front;
int rear;
} Queue;
void InitQueue(Queue *Q) // 初始化队列
{
Q->front = 0;
Q->rear = 0;
}
int QueueEmpty(Queue Q) // 判断队列是否为空
{
if (Q.front == Q.rear) {
return 1;
} else {
return 0;
}
}
int EnQueue(Queue *Q, int x) // 入队操作
{
if ((Q->rear + 1) % MAXSIZE == Q->front) {
return 0; // 队列已满
} else {
Q->data[Q->rear] = x;
Q->rear = (Q->rear + 1) % MAXSIZE;
return 1;
}
}
int DeQueue(Queue *Q, int *x) // 出队操作
{
if (QueueEmpty(*Q)) {
return 0; // 队列为空
} else {
*x = Q->data[Q->front];
Q->front = (Q->front + 1) % MAXSIZE;
return 1;
}
}
void PrintTriangle(int n) // 输出杨辉三角
{
Queue Q;
InitQueue(&Q);
EnQueue(&Q, 1); // 第一行元素入队
for (int i = 1; i <= n; i++) { // 控制行数
int pre = 0; // 记录上一行的元素值
for (int j = 1; j <= i; j++) { // 控制每行的元素个数
int x;
DeQueue(&Q, &x);
printf("%d ", x);
if (pre != 0) { // 计算当前元素值并入队
EnQueue(&Q, pre + x);
}
pre = x;
}
EnQueue(&Q, 1); // 每行最后一个元素为1,入队
printf("\n");
}
}
int main()
{
int n;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
PrintTriangle(n);
return 0;
}
```
队列打印杨辉三角c++
队列打印杨辉三角是一种常见的算法问题,可以使用队列来实现。下面是使用C++语言实现队列打印杨辉三角的代码:
```cpp
#include <iostream>
#include <queue>
void printYanghuiTriangle(int n) {
std::queue<int> q;
q.push(1); // 第一行的元素1入队
for (int i = 0; i < n; i++) {
int prev = 0; // 上一行的元素初始为0
// 打印空格
for (int j = 0; j < n - i - 1; j++) {
std::cout << " ";
}
// 打印当前行的元素
for (int j = 0; j <= i; j++) {
int curr = q.front();
q.pop();
std::cout << curr << " ";
// 计算下一行的元素并入队
int next = prev + curr;
q.push(next);
prev = curr;
}
std::cout << std::endl;
}
}
int main() {
int n;
std::cout << "请输入要打印的杨辉三角的行数:";
std::cin >> n;
printYanghuiTriangle(n);
return 0;
}
```
运行以上代码,输入要打印的杨辉三角的行数,即可输出相应行数的杨辉三角。