• 堆栈C语言实现


    堆栈的抽象数据类型描述:

    • 类型名称: 堆栈(Stack)。
    • 数据对象集: 一个有 0 个或多个元素的又穷表。
    • 操作集: 长度为 max_size 的堆栈 S ∈ Stack, 堆栈元素 item ∈ ElementType。
    1. stack creatc_stack(int max_size): 生成空堆栈, 其最大长度为 max_size
    2. bool is_full(stack *s, int max_size): 判断堆栈 S 是否已满;
    3. void push(stack *s, element_type item): 将元素 item 压入堆栈;
    4. bool is_empty(stack *s): 判断堆栈 S 是否为空;
    5. element_type pop(stack s): 删除并返回栈顶元素;

    伪码描述:

     1 #define MAX_SIZE 10  // 存储元素的最大个数
     2 #define ERROE -1
     3 #define bool int
     4 #define True 1
     5 #define Flase 0
     6 // element_type 代表任意基本数据类型
     7 
     8 typedef struct{
     9     element_type data[MAX_SIZE];
    10     int top;
    11 } stack;
    12 
    13 // 入栈
    14 void push(stack *s, element_type item)
    15 {
    16     if (s->top < MAX_SIZE-1){
    17         s->data[(s->top)+1] = item;
    18         s->top++;
    19     }
    20 }
    21 
    22 // 出栈
    23 element_type pop(stack *s)
    24 {
    25     element_type n = NULL;
    26     if (s->top != -1){
    27         n = s->data[(s->top--)];
    28     }
    29     return n;
    30 }
    31 
    32 // 判断堆栈是否为空
    33 bool is_empty(stack *s)
    34 {
    35     bool flag = Flase;
    36     if (s->top == -1){
    37         flag = True;
    38     }
    39     
    40     return flag;
    41 }
    42 
    43 // 判断堆栈是否已满
    44 bool is_full(stack *s, int MAX_SIZE)
    45 {
    46     bool flag = Flase;
    47     if (s->top == MAX_SIZE-1){
    48         flag = True;
    49     }
    50     
    51     return flag;
    52 }
     
  • 相关阅读:
    101-PHP二维数组的元素输出三,封装成函数
    100-PHP二维数组的元素输出三
    099-PHP二维数组的元素输出二
    098-PHP二维数组的元素输出
    097-PHP循环使用next取数组元素二
    096-PHP循环使用next取数组元素
    095-PHP遍历关联数组,并修改数组元素值
    094-PHP遍历索引数组和关联数组
    093-PHP数组比较
    092-PHP定义索引数组
  • 原文地址:https://www.cnblogs.com/tingshuo123/p/7090858.html
Copyright © 2020-2023  润新知