zoukankan      html  css  js  c++  java
  • c栈的实现

    栈的实现:

    #include <stdio.h>
    #include <math.h>
    #include <string.h>
    #include <stdlib.h>
    
    typedef int Element;
    #define MAX_STACK_LENGTH 10
    
    struct Stack {
        Element stack[MAX_STACK_LENGTH];
        int length;
    };
    
    void Init(struct Stack* stack)
    {
        memset(stack->stack, 0, sizeof(Element) * MAX_STACK_LENGTH);
        stack->length = 0;
    }
    
    int Empty(struct Stack* stack)
    {
        return stack->length == 0;
    }
    
    int Length(struct Stack* stack)
    {
      return stack->length;
    }
    void Push(struct Stack* stack, Element elem) { if (stack->length == MAX_STACK_LENGTH) { return; } else { stack->stack[stack->length++] = elem; } } void Pop(struct Stack* stack) { if (stack->length == 0) { return; } else { stack->length--; } } Element Top(struct Stack* stack) { return stack->stack[stack->length - 1]; } // following is test code, you can use like this: int main() { struct Stack stack; Init(&stack); for (int i = 0; i < 120; i++) { Push(&stack, i); } while (!Empty(&stack)) { int t = Top(&stack); printf("%d ", t); Pop(&stack); } return 0; }
  • 相关阅读:
    设计模式之策略模式
    assert断言——调试中不应该是syso
    Spring AOP
    MyBatis
    事务处理与使用连接池管理连接
    管理结果集(ResultSet)
    执行SQL语句的方式
    JDBC基础:
    NIO.2
    NIO
  • 原文地址:https://www.cnblogs.com/tongyishu/p/12222104.html
Copyright © 2011-2022 走看看