Ⅰ 编程为什么要使用栈结构而不要队列
用栈大多是为了保存现场,比如在递归消除中,在二叉树前中后遍历中.
而队列大多是为了保存一个状态,一边出队一边进队进行扫描,比如二叉树的层次遍历以及图的BFS.
两者各有各的用处,而可以很明显的观察到,前者的用途要比后者广泛一些.
编程是一段很有意思的旅程,LZ加油
Ⅱ 栈和队列数据结构的特点,什么情况下用到栈,什么情况下用到队列(各举3个例子)
栈:特点就是一个先进后出的结构。
队列:特点就是一个先进先出的结构。
//一般只要你满足这个特点就可以称之为栈或队列。
栈的应用:非常广泛,在CPU内部就有提供栈这个机制。主要用途:函数调用和返回,数字转字符,表达式求值,走迷宫等等。在CPU内部栈主要是用来进行子程序调用和返回,中断时数据保存和返回。在编程语言中:主要用来进行函数的调用和返回。可以说在计算机中,只要数据的保存满足先进后出的原理,都优先考虑使用栈,所以栈是计算机中不可缺的机制。
队列的应用:队列主要用在和时间有关的地方,特别是操作系统中,队列是实现多任务的重要机制。windows中的消息机制就是通过队列来实现的。进程调度也是使用队列来实现,所以队列也是一个重要的机制。只要满足数据的先进先出原理就可以使用队列。
Ⅲ 编程中的队列有什么用
队列是一个有序列表(ordered list),而且是先进先出(FIFO)的,主要动作有添加(Addq)和删除(Delq)。只要是要求先进先出的场合都可以使用队列,比如打印机中的打印队列,键盘的输入缓冲区也需要队列。在树的遍历中,层次遍历也需要使用队列。
Ⅳ 栈和队列在实际编程中的应用有哪些
模拟递归,表达式化成后缀,括号匹配等等