给我用C++写一个栈的数据结构
时间: 2024-05-14 20:13:26 浏览: 20
好的,以下是C语言实现的栈数据结构:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
typedef struct{
int data[MAX_SIZE];
int top;
}Stack;
Stack* createStack(){
Stack* s = (Stack*)malloc(sizeof(Stack));
s->top = -1;
return s;
}
void push(Stack* s, int value){
if (s->top == MAX_SIZE - 1){
printf("Stack overflow.\n");
return;
}
s->data[++s->top] = value;
}
int pop(Stack* s){
if (s->top == -1){
printf("Stack underflow.\n");
return -1;
}
return s->data[s->top--];
}
int peek(Stack* s){
if (s->top == -1){
printf("Stack is empty.\n");
return -1;
}
return s->data[s->top];
}
int isEmpty(Stack* s){
return s->top == -1;
}
int main(){
Stack* s = createStack();
push(s, 1);
push(s, 2);
push(s, 3);
printf("%d\n", pop(s));
printf("%d\n", pop(s));
printf("%d\n", peek(s));
printf("%d\n", isEmpty(s));
printf("%d\n", pop(s));
printf("%d\n", isEmpty(s));
printf("%d\n", pop(s));
return 0;
}
```
希望这样回答能够帮助到您。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)