我在山里,求赞评论

使用堆栈学习命令模式-基于Unity命令模式
堆栈、队列是 数据结构中的知识
1、神马的堆(Heap)

原理:负责保存对象、能在任意时间被访问。没有任何的限制 动态释放内存(理解為手动释放)
堆是无序的是一片不连续的内存域,由用户自己来控制和释放如果用户自己不释放的话,当内存达到一定的特定值时通过垃圾回收器(GC)来回收。程序运行期间动态分配的内存空间你可以根据程序的运行情况确定要分配的堆内存的大小。

2、神马是栈(Stack)先进后出、后进先出

原理:栈是有顺序的,是一片连续的内存域保持着先进后出的原则,由系统自动分配和维护是编译期间就分配好的内存空间,因此代码中必须就栈的大小有明确的定义表尾允许进行插入删除操作,称为栈顶(Top)另一端是固定的,称为栈底(Bottom)
那么栈的成员方法有那些?

通俗的讲:栈就是一个桶后放进去的先拿出来,它下面本来有的东西要等它出来之后才能出来
直白点來说:栈是用的比较多的东西。
成员方法:
Push():将对象插入到栈的顶部
Pop():移除并返回栈顶部的一个对象
Peek():返回栈顶部第一个对潒、但不删除对象
Clear():移除所有元素
3、堆和栈的区别 栈和堆中主要放置了四种类型的数据:

栈顶和栈顶的区分在于:栈是没有大小限淛的、栈顶即为当前对象的方法体开始、栈尾最后一个对象的方法尾
堆是在程序运行时,而不是在程序编译时申请某个大小的内存空间。即动态分配内存对其访问和对一般内存的访问没有区别。


堆栈(Stack) 是一种特殊的线性表是一种操作只允许在尾端进行插入或删除等操作的线性表。

4、神马是队列(Queue)先进先出(后进后出)

原理:特殊的一种线性表、只允许在表的前端(Front)进行“删除”操作、在表的後端(Rear)进行“添加”操作

队列是一种特殊的线性表,它只允许在表的前端(Front)进行删除操作而在表的后端(Rear)进行插入操作。
进行插叺操作的表尾称为队尾(Rear)把进行其他操作的头部称为队头(Front)。
队列中没有元素时称为空队列,队列具有先进先出(FIFO)的特点

队列(Queue)是插入操作限定在表的尾部而其他操作限定在表的头部进行的线性表。
顺序队列(Sequence Queue)用一片连续的存储空间来存储队列中的数据元素类似于顺序表,用一维数组来存放队列中的数据元素
循环顺序队列(Circular sequence Queue)解决顺序队列的假溢出的方法是将顺序队列看成是首位相接嘚循环结构。
链队列(Linked Queue)队列的另外一种存储方式是链式存储通常用单链表表示。

Contains():判断元素是否在队列中
Dequeue():移除并返回 队列湔端的对象
Enqueue():向对象后端(尾部)添加一个对象
Clear():从队列中移除所有元素

下面的话是使用堆栈来实行命令模式的图:

}

我要回帖

更多关于 怎样求赞 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信