顺序栈的基本操作代码
时间: 2023-09-25 14:08:42 浏览: 67
顺序栈的基本操作代码包括建栈、取栈顶元素、入栈、出栈等操作。下面是一个示例代码:
1. 建栈操作:
```python
#define MAXSIZE 100 // 栈的最大容量
typedef struct {
int data[MAXSIZE]; // 存放栈元素的数组
int top; // 栈顶指针,指向栈顶元素的位置
} SeqStack;
void InitStack(SeqStack *s) {
s->top = -1; // 初始化栈顶指针为-1,表示栈为空
}
```
2. 取栈顶元素操作:
```python
int GetTop(SeqStack *s) {
if (s->top == -1) {
printf("栈为空\n");
return -1; // 若栈为空,则返回一个特殊值表示错误
}
return s->data[s->top]; // 返回栈顶元素的值
}
```
3. 入栈操作:
```python
void Push(SeqStack *s, int x) {
if (s->top == MAXSIZE - 1) {
printf("栈已满,无法入栈\n");
return; // 若栈已满,则无法入栈
}
s->top++; // 栈顶指针加1
s->data[s->top = x; // 将元素x入栈
}
```
4. 出栈操作:
```python
void Pop(SeqStack *s) {
if (s->top == -1) {
printf("栈为空,无法出栈\n");
return; // 若栈为空,则无法出栈
}
s->top--; // 栈顶指针减1,表示栈顶元素已出栈
}
```
这些操作可以用来对顺序栈进行初始化、取栈顶元素、入栈、出栈等操作。以上是一种示例代码,你可以根据实际需求进行修改和扩展。