请用顺序存储实现栈的数据结构Stack。你所实现的栈应包括:pop,push,top,size,clear,full等功能。利用你实现的Stack实现输入数字的逆序输出。 【输入】整数序列以-1结束,序列长度小于100 【输出】输入整数序列的逆序序列 例如: 【输入】3 9 8 2 5 -1 【输出】5 2 8 9 3
时间: 2023-03-29 18:04:27 浏览: 97
Stack的实现:
```
#include <stdio.h>
#define MAXSIZE 100
typedef struct {
int data[MAXSIZE];
int top;
} Stack;
void init(Stack *s) {
s->top = -1;
}
int push(Stack *s, int x) {
if (s->top == MAXSIZE - 1) {
return ;
}
s->top++;
s->data[s->top] = x;
return 1;
}
int pop(Stack *s, int *x) {
if (s->top == -1) {
return ;
}
*x = s->data[s->top];
s->top--;
return 1;
}
int top(Stack *s, int *x) {
if (s->top == -1) {
return ;
}
*x = s->data[s->top];
return 1;
}
int size(Stack *s) {
return s->top + 1;
}
void clear(Stack *s) {
s->top = -1;
}
int full(Stack *s) {
return s->top == MAXSIZE - 1;
}
int main() {
Stack s;
init(&s);
int x;
scanf("%d", &x);
while (x != -1) {
push(&s, x);
scanf("%d", &x);
}
while (pop(&s, &x)) {
printf("%d ", x);
}
printf("\n");
return ;
}
```
输入:
```
3 9 8 2 5 -1
```
输出:
```
5 2 8 9 3
```
相关推荐
![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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)