第3章栈和队列资料.pptVIP

  • 6
  • 0
  • 约1.21万字
  • 约 52页
  • 2016-04-15 发布于湖北
  • 举报
递归函数执行过程的信息传递和控制转移可以用栈结构来实现。系统将整个程序运行时所需的空间安排在一个栈中,每当调用一个函数时,就为它在栈顶分配一个存储区,每当退出一个函数时,就释放它所占用的存储区,当前工作的函数的数据区总在栈顶。 例如,递归函数fact(4)的执行过程如图3.10所示,而图3.11表示求解4!时工作栈的变化。 3.3.1 队列的定义及其运算 队列也是一种运算受限的线性表。只允许在表的一端进行插入运算,而在另一端进行删除运算。允许插入(也称为入队)的一端称为队尾,允许删除(也称为出队)的一端称为队头,当队列中没有数据元素时称为空队列。 队列是一种与栈相反的结构。队列也称为先进先出的线性表,简称为FIFO表,如图3.12所示。队列的含义与现实生活中购物排队相似,先进入队列的成员总是先离开队列。 3.3 队列 通常,队列的基本运算有以下五种: (1)置空队setnull(q):设置一个队列q为空队列。 (2)判队列空empty(q):若队列q为空,则返回TRUE,否则返回FALSE。 (3)入队列enqueue(q,x):将数据元素x插入队列q的队尾。 (4)出队列delqueue(q):若队列q非空,删除队列的队头元素,并返回该队头元素。 (5)取队头元素getfront(q)

文档评论(0)

1亿VIP精品文档

相关文档