用c语言写出代码合法的出栈序列
时间: 2024-02-17 13:03:36 浏览: 39
以下是用 C 语言实现的合法出栈序列的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
int stack[MAX_SIZE];
int top = -1;
void push(int x) {
stack[++top] = x;
}
int pop() {
return stack[top--];
}
int main() {
int n, i, j;
int push_seq[MAX_SIZE], pop_seq[MAX_SIZE];
printf("请输入序列长度:");
scanf("%d", &n);
printf("请输入入栈序列:");
for (i = 0; i < n; i++) {
scanf("%d", &push_seq[i]);
}
printf("请输入出栈序列:");
for (i = 0; i < n; i++) {
scanf("%d", &pop_seq[i]);
}
j = 0;
for (i = 0; i < n; i++) {
push(push_seq[i]);
while (top >= 0 && stack[top] == pop_seq[j]) {
pop();
j++;
}
}
if (top == -1) {
printf("出栈序列是入栈序列的一个合法出栈序列。\n");
} else {
printf("出栈序列不是入栈序列的一个合法出栈序列。\n");
}
return 0;
}
```
该代码通过输入入栈序列和出栈序列,模拟了一个栈的出入操作,并判断出栈序列是否是入栈序列的一个合法出栈序列。
相关推荐
![c](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)