c语言怎么输出栈中所有元素

   2025-02-15 9910
核心提示:在C语言中,栈是一种后进先出(LIFO)的数据结构。要输出栈中所有元素,可以按照以下步骤进行:定义一个循环,循环条件为栈不为

在C语言中,栈是一种后进先出(LIFO)的数据结构。要输出栈中所有元素,可以按照以下步骤进行:

定义一个循环,循环条件为栈不为空。在循环中,使用栈的pop操作将栈顶元素弹出,并输出该元素。重复步骤2直到栈为空。

以下是一个示例代码:

#include <stdio.h>#define MAX_SIZE 100typedef struct {    int data[MAX_SIZE];    int top;} Stack;// 初始化栈void init(Stack *s) {    s->top = -1;}// 判断栈是否为空int is_empty(Stack *s) {    return s->top == -1;}// 判断栈是否已满int is_full(Stack *s) {    return s->top == MAX_SIZE - 1;}// 入栈void push(Stack *s, int value) {    if (is_full(s)) {        printf("Stack is full.\n");        return;    }    s->data[++(s->top)] = value;}// 出栈int pop(Stack *s) {    if (is_empty(s)) {        printf("Stack is empty.\n");        return -1;    }    return s->data[(s->top)--];}// 输出栈中所有元素void print_stack(Stack *s) {    printf("Stack elements: ");    while (!is_empty(s)) {        int value = pop(s);        printf("%d ", value);    }    printf("\n");}int main() {    Stack stack;    init(&stack);    // 入栈操作    push(&stack, 1);    push(&stack, 2);    push(&stack, 3);    // 输出栈中所有元素    print_stack(&stack);    return 0;}

运行以上代码会输出栈中所有元素:3 2 1

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言