实 验 一利用线性表实现两个整数集合的交、并、差的运算。
实 验 二假设一学生信息文件中每个学生信息包括:学号 (8位字符 )、姓名( 10个字符)、成绩(整型)及所用时间 (整型 ),要求从该文件中读取每个学生的信息存入一双向循环链表中,然后按快速排序算法对其排序;排序的规则是:按成绩从高到低,成绩相同时所用时间少者在先,多者在后。要求输出排序后的结果。
实 验 三利用堆栈的基本操作来实现中缀表达式的计算。
该中缀表达式中包括,+,-,*,/、(、)和整数。
提示:首先要检查该表达式是否合法,然后计算。
示例:
输入,10 + (4 – 20 *) / 4
输出:表达式错误输入,10 + (20 - 10) / 5 * 2
输出,14
实验四 停车场管理设停车场内只有一个可停放几辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满几辆汽车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,
由于停车场是狭长的通道,在它之后开入停车场的车辆必须先退出车场为它让路,待该辆车开出大门外后,为它让路的车辆再按原次序进入车场。在这里假设汽车不能从便道上开走。试设计一个停车管理程序。
…入口 出口 …
大门北便道 停车场分析,汽车在停车场内进出是按照栈的运算方式来实现的,
先到的先进停车场;停车场的汽车离开停车场时,车场内其他汽车为该辆汽车让路,也是按栈的方式进行;汽车在便道上等候是按队列的方式进行的。因此,将停车场设计成一个栈,汽车让路也需要另一个栈来协助完成,汽车进出便道用队列来实现。
算法描述:
1、接受命令( A:入,D:出)和车号,若是汽车要进停车场,
先判断停车场栈是否满,若不满,则汽车入栈,否则汽车入便道队列等候。
2、若是汽车要离开停车场,为该汽车让路,将停车场栈上若干辆汽车入临时栈,等这辆汽车出停车场后,临时栈中的汽车出栈,再回到停车场栈,然后看便道队列是否为空,若不空,
则说明有汽车等候,从队头取出汽车号,让该车入停车场栈。
3、重复 1,2直到为退出命令(车号为 0或负数)。
实 验 五建立一个含有 10个节点的二叉树,并以直观的形式输出该二叉树,同时要求对该树进行层次遍历,
输出该树的深度。
实 验 六假设有一个文本文件,文件中包含有若干个字符,现要求将该文件中的字符读出并进行编码生成编码文件(文件的大小要求最小),然后对已生成的编码文件进行译码,并输出译码后的文件。