一道c语言题,关于栈

来源:百度知道 编辑:UC知道 时间:2024/05/31 06:09:03
13.某个车站呈狭长形,宽度只能容下一台车,并且只有一个出入口。已知某时刻该车站状态为空,从 这一时刻开始的出入记录为:“进,出,进,进,进,出,出,进,进,进,出,出”。假设车辆入站的 顺序为 1,2,3,……,则车辆出站的顺序为( )。
A. 1, 2, 3, 4, 5 B. 1, 2, 4, 5, 7 C. 1, 4, 3, 7, 6 D. 1, 4, 3, 7, 2

详细地讲一下,讲得好追加分

用数组A[] 表示车站里面的车吧
进:A={‘1’}
出:A={} 所以 1 最先出来
进:A={‘2'}
进:A={‘2',‘3’}
进:A={‘2',‘3’,‘4’}
出:A={‘2',‘3’}然后是 4
出:A={‘2’} 然后是 3
进:A={‘2’,‘5’}
进:A={‘2’,‘5’,‘6’}
进:A={‘2’,‘5’,‘6’,‘7’}
出:A={‘2’,‘5’,‘6’} 接着是 7
出:A={‘2’,‘5’} 接着是 6

所以选C
总之 “先进后出,后进先出”

应该是14376,栈的特点就是后进先出,也就是越接近出口越先出。根据题设,进的顺序为1234567,而进出记录为进出进进进出出进进进进出出,也就是1进可就出,所以第一出的是1,而后234相继进,四最后进所以最先出,随后是3,2没出,567又相继进如,7最后进,所以出站在这三个中最早,6次之。6出后记录就完了,所以整个记录的出站顺序为,14376