zoukankan      html  css  js  c++  java
  • C语言实现栈(顺序栈)

    1、结构体

    1 typedef struct my_stack {
    2     int len;//既可以表示栈顶编号也可以表示元素个数
    3     typename a[10001];//用数组表示栈内元素
    4 }Stack;

    2、初始化

    1 Stack* create_emptystack() {
    2     Stack *s;
    3     s = (Stack*)malloc(sizeof(Stack));
    4     if(s == NULL)
    5         printf("malloc error
    ");
    6     else
    7         s->len = -1;
    8     return s;
    9 }

    3、判断栈是否为空

    1 int isempty(Stack *s) {
    2     return s->len == -1;
    3 }

    4、入栈

    1 void push_stack(Stack *s, typename value) {
    2     if(s->len > 10001)
    3         printf("exceed!
    ");
    4     else {
    5         s->len++;
    6         s->a[s->len] = value;
    7     }
    8 }

    5、出栈

    1 void pop_stack(Stack *s) {
    2     if(!isempty(s))
    3         s->len--;
    4 }

    6、获取栈顶元素

    1 tpyename get_top(Stack *s)  {  
    2     if(!isempty)                
    3         return s->a[s->len]; 
    4 }    
  • 相关阅读:
    Tarjan 算法 自学整理
    POJ 2395 Out of Hay
    Codevs 1557 热浪
    Codevs 2956 排队问题
    Codevs 1005 生日礼物
    集合
    奇怪的函数
    关押罪犯
    搭积木
    大数据
  • 原文地址:https://www.cnblogs.com/knightoflake/p/13143382.html
Copyright © 2011-2022 走看看