
栈和队列数据结构的特点,什么情况下用到栈,什么情况下用到队列(各举3个例子)
栈:特点就是一个先进后出的结构。
队列:特点就是一个先进先出的结构。
\\\/\\\/一般只要你满足这个特点就可以称之为栈或队列。
栈的应用:非常广泛,在CPU内部就有提供栈这个机制。
主要用途:函数调用和返回,数字转字符,表达式求值,走迷宫等等。
在CPU内部栈主要是用来进行子程序调用和返回,中断时数据保存和返回。
在编程语言中:主要用来进行函数的调用和返回。
可以说在计算机中,只要数据的保存满足先进后出的原理,都优先考虑使用栈,所以栈是计算机中不可缺的机制。
队列的应用:队列主要用在和时间有关的地方,特别是操作系统中,队列是实现多任务的重要机制。
windows中的消息机制就是通过队列来实现的。
进程调度也是使用队列来实现,所以队列也是一个重要的机制。
只要满足数据的先进先出原理就可以使用队列。
数据结构心得体会
数据结构学习体会及教学建议时间过的很快,一转眼一学期的数据结构课程就已经快要告一段落了,在接触这么课以前,我觉得编程无非就是会写代码就好了。
然而事实上数据结构对于程序来说,有着非常重要的地位。
随着计算机应用领域的不断扩大,非数值计算的问题占据了当今计算机应用的绝大部分,简单的数据类型已经远远不能满足需要,个数据元素之间的复杂关系已经不是普通数学方程式能够表达的了,所以数据结构就扮演了十分重要的角色。
在学期初,我觉得数据结构还是比较简单的,但可能由于之前c语言学习对指针掌握的不够熟练,导致在数据结构中接触到与指针有关的问题,例如线性表,堆栈,队列,二叉树等问题的时候,都会显得有些吃力。
但是在不断学习数据结构的过程中我也不断加强了对指针的学习,现在我已经能够基本掌握指针的相关知识并且能够熟练运用了。
这一学期的学习下来我发现想要学好数据结构有以下几点经验{虽然可能我的数据结构学的并不是很好}1.初步了解算法思想、原理想要弄清楚一个算法的实现,首先要知道这个算法的大致原理,这是最简单的一步,也是最基础的一步,只有明白算法想要干什么,才能弄清楚相应的代码段是为什么2.钻研课本代码段对于书上的算法代码,我们一定要仔细钻研每一步的具体含义和目的,在此基础上深入的了解算法的实现过程,而不是一味的四级硬背,不仅无聊,而且效率低下。
3.查找各种算法资料例如排序算法,其实历史上有很多不同的排序算法,书上
如何将数据结构运用到实际的编程中去,那位高人有心得体会,不妨分享一下~~~
首先你要认识到数据结构是个什么东西,然后就自然就会用了哦
栈和队列数据结构的特点是什么
楼主你好,栈的基本运算有6种(1)InitStack(S):构造一个空栈(2)StackEmpty(S):判断栈空,空返回true,否则为false(3)StackFull(S):判断栈满,满返回true,否则为false(4)Push(S,x):若栈不满将x插入到栈顶(5)Pop(S):退栈,若栈非空,将栈顶元素删去,并返回该元素.(6)StackTop(S):取栈顶元素。
若栈非空,返回栈顶元素,但不改变栈的状态。
#include
希望能够帮助到你。



