数据结构上机考试试题(C++语言版)
考试要求:本次考试共列考核试题 4 大题,考生可以在所列 4 个考核试题中任选 3 个小题
(即可能只属于 2 个大题),作为上机考核试题。
考核原则:所选题目在上机编程调试通过后即为考核通过。监考教师依据学生编程及调试
通过与否情况给予考核成绩。
考核成绩评分标准:
所选 3 个题目全部编写出程序并调试通过:优
所选 3 个题目全部编写出程序,但只有 2 个上机调试通过:良
所选 3 个题目全部编写出程序,但只有 1 个上机调试通过:及格
所选 3 个题目全部编写出程序但都没有上机调试通过,或没有编写出全部程序:不及格。
考核时间:2 小时。
考核试题:
1、建立一个顺序方式存储的线性表,向表中输入若干元素后进行以下操作:
(1)向线性表的表头、表尾或合适位置插入元素
(2)对线性表按升序或降序输出
2、建立一个动态链接方式存储的线性表,向表中输入若干元素后进行以下操作:
(1)从单链表中查找指定元素
(2)返回单链表中指定序号的结点值
3、建立一个动态链接结构存储的二叉树,向这棵二叉树进行以下操作:
(1)按任中序遍历次序输出二叉树中的所有结点
(2)求二叉树的叶子数
4、编写一个对整型数组 A[n+1]中的 A[1]至 A[n]元素进行选择排序的算法,使得首先从
待排序区间中选择出一个最大值并同最后一个元素交换,再从待排序区间中选择出一个最
小值并同最第一个元素交换,反复进行直到待排序区间中元素的个数不超过 1 为止。
#include<iomanip.h>
#include<stdlib.h>
#include"linearlist1.h"
//初始化线性表
void InitList(LinearList& L, int ms)
{
L.list=new ElemType[ms];
if(!L.list) {
cerr<<"Memory allocation failure!"<<endl;
exit(1);
}
评论0