简答题

简述队列和栈的异同

正确答案

队列和栈都是线性存储结构,但是两者的插入和删除数据的操作不同,队列是“先进先出”,栈是“后进先出”。 注意:区别栈区和堆区。堆区的存取是“顺序随意”,而栈区是“后进先出”。栈由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆一般由程序员分配释放, 若程序员不释放,程序结束时可能由 OS 回收。分配方式类似于链表。它与本题中的堆和栈是两回事。堆栈只是一种数据结构,而堆区和栈区是程序的不同内存存储区域。

答案解析

相似试题
  • 已知Q是一个非空队列,S是一个空栈。编写算法,仅用队列和栈的ADT函数和少量工作变量,将队列Q的所有元素逆置。栈的ADT函数有:voidmakeEmpty(SqStacks);置空栈voidpush(SqStacks,ElemTypee);元素e入栈ElemTypepop(SqStacks);出栈,返回栈顶元素intisEmpty(SqStacks);判断栈空队列的ADT函数有:voidenQueue(Queueq,ElemTypee);元素e入队ElemTypedeQueue(Queueq);出队,返回队头元素intisEmpty(Queueq);判断队空

    填空题查看答案

  • 简述队列和栈这两种数据结构的相同点和不同点。

    简答题查看答案

  • 堆和栈的区别?

    简答题查看答案

  • 写出下列中缀表达式的后缀表达式和栈的变化,并写出求值过程栈的变化。

    简答题查看答案

  • 利用两个栈S1和S2模拟一个队列,如何利用栈的运算实现队列的插入和删除操作,请简述算法思想。

    简答题查看答案

  • 栈的特点(),队列的特点是(),栈和队列的特点是()。

    填空题查看答案

  • 栈的运算规则为(),队列的运算规则为()。

    填空题查看答案

  • 栈和队列都是操作受限的线性表,栈的运算特点是(),队列的运算特点是()

    填空题查看答案

  • 栈和队列是两种特殊的线性表,栈的操作特性是(),队列的操作特性是(),栈和队列的主要区别在于()。

    填空题查看答案