zoukankan      html  css  js  c++  java
  • 顺序stack的实现

                                                          数组是一个大的集合,定义一个大数据类型变量   (看成整体)

    #include "stdafx.h"
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    
    // 顺序stack
    #define Max  20
    struct stack
    {
        char buf[Max];
        int  pos;// stack位置
    
    };
    
    static struct stack  stack_test;
    
    static int  init_stack(void * pStack)
    {
        if (pStack == NULL)
        {
            return -1;
        }
        struct stack*   ptmpstack = (struct stack*)pStack;
        ptmpstack->pos = 0;
        memset(ptmpstack, 0, sizeof(struct stack));
        return 0;
    }
    
    static int push_stack(struct stack* pStack, int data)
    {
        if (pStack == NULL)
        {
            return -1;
        }
    
        if (pStack->pos == Max - 1)
        {
            printf("stack 堆的太高了 超过了
    ");
            return -1;
        }
        pStack->buf[pStack->pos] = data;
        pStack->pos++;
    
    
        return 0;
    }
    
    static int pop_stack(struct stack* pStack)
    {
        if (pStack == NULL)
        {
            return -1;
        }
    
        if (pStack->pos == 0)
        {
            printf("到stack 底部  底部 底部了 
    ");
            return -1;
        }
    
        pStack->buf[pStack->pos] = 0;
        pStack->pos--;
    
        return 0;
    }
    
    int main()
    {
        init_stack(&stack_test);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
        push_stack(&stack_test, 10);
    
    
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
        pop_stack(&stack_test);
    
        while (1);
        return 0;
    }

    一勤天下无难事。
  • 相关阅读:
    Spring bean的实例化
    提交本地代码到github
    ORM框架——SQLAlchemy
    代码发布项目(三)——python操作git、代码发布流程(服务器管理、项目管理)
    代码发布项目(二)——django实现websocket(使用channels)、基于channels实现群聊功能、gojs插件、paramiko模块
    代码发布项目(一)——实现服务端主动给客户端推送消息(websocket)
    索引补充(索引种类,正确使用索引,其他注意事项,慢日志查询)
    mysql索引种类(索引种类和建立索引)
    centos6安装Docker遇到的问题(升级centos6内核)
    Django1.11下载安装xadmin
  • 原文地址:https://www.cnblogs.com/nowroot/p/12735241.html
Copyright © 2011-2022 走看看