• 第五次课程作业


    第五次课程作业

    搭建代码主体框架

    课上老师讲到我们第四次作业其实还很多是面向过程,上完课我发现我的第四次作业确实是面向过程,所以这次作业重新做了一次更改,也准备进行重构github代码链接。不过由于这段时间忙于部门换届评比,学习状态不太对,只对代码做了一个框架。


    对数据结构栈的学习

    栈的概念
    栈(stack)是限定仅在表尾进行插入和删除操作的线性表。又称为后进先出的线性表,简称为LIFO结构。
    
    栈的顺序存储结构及实现
    #define OK 1
    #define ERROR 0
    typedef int Status;
    

    栈的结构定义

    typedef int SElemType//类型根据具体实际情况而定
    typedef struct
    {
        SElemType data[MAXSIZE];
        int top;//用于栈顶指针
    }Sqstack;
    

    进栈操作

    Status Push(SqStack *S,SElemType e)
    {
        if(S->top == MAXSIZE - 1)//栈满
        {
            return ERROR;
        }
        S->top++;//栈顶指针加一
        S->data[S->top]=e;//将新插入元素赋值给栈顶空间
        return OK;
    }
    

    出栈操作

    Status Pop(SqStack *S,SElemType e)
    {
        if(S->top == -1)
        return ERROR;
        *e=S->data[S->top];
        S->top--;
        return OK;
    }
    

    以上只列出了栈的基础操作的一小部分,如果全写估计就好长好长了。。
    目前我已学习到的有栈的链式存储结构及实现、上次作业讲到的后缀表达法、递归。推荐参考书《大话数据结构》,适用于初学者,优点是讲的很生动,简明易懂,缺点就是不太严谨。

  • 相关阅读:
    【BZOJ 3098】 Hash Killer II
    【BZOJ 1189】[HNOI2007]紧急疏散evacuate
    【BZOJ 1088】 [SCOI2005]扫雷Mine
    【BZOJ 1821】 [JSOI2010]Group 部落划分 Group
    【BZOJ 1013】 [JSOI2008]球形空间产生器sphere
    【BZOJ 1084】[SCOI2005]最大子矩阵
    【BZOJ 1085】 [SCOI2005]骑士精神
    JNday6-pm
    JNday6-am
    JNday5-pm
  • 原文地址:https://www.cnblogs.com/lzhkami/p/6896125.html
Copyright © 2020-2023  润新知