数据结构:第三章学习小结

一、本章内容小结

(1)栈是限定仅在表尾进行插入或删除的线性表,又称为后进先出的线性表。栈有两种存储 表示,顺序表示(顺序栈) 和链式表示(链栈)。栈的主要操作是进栈和出栈,对于顺序栈的进栈 和出栈操作要注意判断栈满或栈空

(2) 队列是一种先进先出的线性表。它只允许在表的一端进行插入, 而在另一端删除元素。 队列也有两种存储表示,顺序表示(循环队列)和链式表示(链队)。队列的主要操作是进队和出 队,对于顺序的循环队列的进队和出队操作要注意判断队满或队空。凡是涉及队头或队尾指针的 修改都要将其对MAXQSIZE求模。 

(3)链队和链栈的存储结构

                                                                 

    链栈的存储结构:不带头节点的链表

    命名规范:LinkStack S;StackNode *p;p=new StackNode//S为链栈的名字;p为每个结点的指针;

    链队的存储结构:链表+含头指针尾指针的结构体

    命名规范:LinkQueue Q;QueuePtr p;p=new QNode;//Q为链栈的名字;p为每个结点的指针;

二、心得体会

1、Q.front/S.stacksize.......不要忘记“.”

2.链栈,链队定义时不用把size打包进去,因为size是用来判断是否满的,而链表是用new动态分配的,要记得destroy

3.根据结构体的不同定义:1)SElemType *top;后续用*S.top  2)int data[100]; int top; 后续用S.data[S.top];

4.架好框架,在逐步完善代码,会简便很多

三、关于递归的参考资料https://blog.csdn.net/m0_37907797/article/details/102767860?utm_source=app

四、上一阶段目标还未完成,打算在五一的时候结束

       下一阶段目标加强题目的框架训练,并且打代码时常常会忽略格式问题,边界问题,特殊情况。对于一些常见的具有普遍性的格式处理问题要进行适当的总结,记笔记。

    

posted @ 2020-04-26 23:23  甘番雨  阅读(181)  评论(0编辑  收藏  举报