用堆栈解决编程问题(C#版).pptVIP

  • 9
  • 0
  • 约5.59千字
  • 约 22页
  • 2015-09-01 发布于安徽
  • 举报
使用堆栈解决编程问题 数据结构(C#语言版) * 解决堆栈的编程问题 数据结构(C#语言版) * 目标 在本章中,你将学到: 识别堆栈的特性 实施堆栈 运用堆栈来解决编程问题 学习情境——用堆栈解决火车车厢重排问题的编程 [问题描述] 一列货运列车共有n节车厢,每节车厢将停放在不同的车站。假定n个车站的编号分别为1 -n,货运列车按照第n站至第1站的次序经过这些车站。车厢的编号与它们的目的地相同。为了便于从列车上卸掉相应的车厢,必须重新排列车厢,使各车厢从前至后按编号1到n的次序排列。当所有的车厢都按照这种次序排列时,在每个车站只需卸掉最后一节车厢即可。我们在一个转轨站里完成车厢的重排工作,在转轨站中有一个入轨、一个出轨和k个缓冲铁轨(位于入轨和出轨之间)。图3.1a 给出了一个转轨站,其中有k= 3个缓冲铁轨H1,H2和H3。开始时,n节车厢的货车从入轨处进入转轨站,转轨结束时各车厢从右到左按照编号1至编号n的次序离开转轨站(通过出轨处)。在图3.1a 中,n= 9,车厢从后至前的初始次序为5,8,1,7,4,2,9,6,3。图3.1b 给出了按所要求的次序重新排列后的结果。 学习情境——用线性表解决学生成绩表的编程 [问题描述](续) 根据上面的描述,编写程序实现下面的功能: 编写一算法实现火车车箱的重排; 编写程序模拟图3.1所示的具有9节车厢的火车入轨和出轨的过程。

文档评论(0)

1亿VIP精品文档

相关文档