编写一个程序实顺序栈的各种基本运算
时间: 2024-11-30 12:14:44 浏览: 22
在编写一个顺序栈(也称为数组栈或简单堆栈)的基本操作程序时,通常会包括以下几个功能:
初始化(Create Stack):创建一个新的空栈,预设栈顶指针top为-1。
void createStack(int stack[], int capacity) { top = -1; }
判断栈是否为空(IsEmpty):检查栈顶指针top是否等于-1,若等于则表示为空。
bool isEmpty(Stack* stack) { return stack->top == -1; }
入栈(Push):将元素添加到栈顶,更新top并增加数据的存储位置。
void push(Stack* stack, int value) { if (stack->top < capacity - 1) { stack->data[++stack->top] = value; } else { printf("Stack overflow.\n"); } }
出栈(Pop):移除栈顶元素,返回该元素值,并更新top。
int pop(Stack* stack) { if (!isEmpty(stack)) { return stack->data[stack->top--]; } else { printf("Stack underflow.\n"); return -1; // 或者抛出异常 } }
查看栈顶元素(Peek):返回栈顶元素,但不改变栈的状态。
int peek(Stack* stack) { if (isEmpty(stack)) { return -1; // 返回特殊值或者抛出异常 } else { return stack->data[top]; } }
获取栈的大小(Size):计算已入栈的元素个数。
int size(Stack* stack) { return stack->top + 1; }
相关推荐

















