peek() c语言-PEEK百家百科


`peek()`函数是C语言中用于查看队列(queue)或栈(stack)的顶部元素,但不会从队列或栈中移除该元素。这个函数通常用于在遍历队列或栈的过程中查看其顶部元素,以便进行一些特定的操作。

`peek()`函数的原型如下:

```c
#include
#include

#define MAX_SIZE 100

typedef struct Queue {
int data[MAX_SIZE];
int front;
int rear;
} Queue;

typedef struct Stack {
int data[MAX_SIZE];
int top;
} Stack;

int peek(Queue *q);
int peek(Stack *s);
```

在这个示例中,我们定义了两个结构体:`Queue`和`Stack`,分别表示队列和栈。每个结构体都有一个整型数组`data`,用于存储元素,以及两个整型变量`front`和`rear`,分别表示队列或栈的头部和尾部索引。

接下来,我们实现了`peek()`函数。对于队列,我们需要检查`front`和`rear`之间的边界条件,以确保没有越界访问。对于栈,我们只需要检查`top`是否小于等于`rear`,以确保栈顶元素未被覆盖。如果满足条件,我们返回顶部元素的值;否则,返回-1表示错误。

以下是使用`peek()`函数的示例代码:

```c
#include
#include
#include "queue.h"
#include "stack.h"

int main() {
Queue q;
Stack s;
int n, i;

// 初始化队列和栈
q.front = q.rear = 0;
s.top = -1;

printf("请输入要入队的元素个数:");
scanf("%d", &n);
printf("请输入%d个元素:", n);
for (i = 0; i < n; i++) {
int temp;
scanf("%d", &temp);
q.data[q.rear++] = temp; // 将元素入队到队列尾部
}
q.rear--; // 因为最后一个元素已经入队,所以需要将队列尾部指针回退一位

printf("队列中的元素为:");
for (i = q.front; i != q.rear; i = (i + 1) % MAX_SIZE) { // 从队列头部开始遍历并打印元素值
printf("%d ", q.data[i]);
}
printf("%d\n", q.data[i]); // 由于循环结束时i会变成rear,所以需要单独打印最后一个元素的值

s.data[++s.top] = 10; // 将10压入栈顶
s.data[++s.top] = 20; // 将20压入栈顶
s.data[++s.top] = 30; // 将30压入栈顶
s.data[++s.top] = 40; // 将40压入栈顶
s.data[++s.top] = 50; // 将50压入栈顶
s.data[++s.top] = 60; // 将60压入栈顶
s.data[++s.top] = 70; // 将70压入栈顶
s.data[++s.top] = 80; // 将80压入栈顶
s.data[++s.top] = 90; // 将90压入栈顶
s.data[++s.top] = 100; // 将100压入栈顶,此时栈已满,无法再压入新元素,但仍然可以查看栈顶元素的值(即90)
s.top--; // 因为最后一个元素已经入栈,所以需要将栈顶指针回退一位,以便后续使用peek()函数查看栈顶元素的值(即90)

printf("栈中的元素为:");
for (i = s.top; i != -1; i = (i + stack_size) % MAX_SIZE) { // 从栈顶开始遍历并打印元素值(注意这里的循环条件应该是i != stack_size,而不是i != rear)
printf("%d ", s.data[i]);
}
printf("\n");
}
```

以上关于peek() c语言-PEEK百家百科内容为上海春毅新材料原创,请勿转载!

没有找到您想要的?可能这里有您想要的答案

还没有找到您想要的答案?您可直接扫码添加下面微信咨询更快速获得专业解答!


下一篇:peek材料打印-PEEK百家百科


上海春毅新材料是一家以经营氟塑料原材料为主的公司。公司主要经营高温氟产品,包括聚四氟乙烯(铁氟龙)PTFE、聚四氟乙烯烷氧基树脂PFA、聚全氟乙丙烯FEP、乙烯-四氟乙烯共聚物ETFE、ECTFE、 聚偏氟乙烯PVDF、聚醚醚酮树脂PEEK、PPSU、PSU、PEI、PI等主要用于喷涂、锂电池、保护膜、衬里、注塑挤出模压级耐腐蚀耐高温耐磨件等。

上海春毅新材料科技有限公司 © 2018-2023 Copy All Rights Reserved. 信息产业部备案号: 沪ICP备19000925号-5   网站地图

友情链接: 聚甲醛| PC| TPU| 尼龙| 特三八网| 1*9外壳| 塑料中国| 舞钢中厚板| 北京租车公司推荐| 硫化罐| 万象系统| 汉字查询| 中网橡胶| 涂料行业| 真空包装机| 冻豆腐切块机| pe膜| 钢托盘| 进口轴承|