以下3个题目是我今年课设的3个题目,哪位大哥大姐能帮我下,给2个原程序我参考下,小女子感激不尽~~
题目一 线性表管理
输入多个同类型(整型)的线性表,以链表形式存放数据元素,每个链表要求有一个名称(名称长度为6至12个字符的字母数字结合的字符串,不能包含其它字符),将链表作为数据元素,用顺序存储结构进行存储管理。完成:
1 创建线性表;
1.1 先进先出表
1.2 先进后出表
1.3 有序表
2 销毁线性表;
3 将新数据元素插入到指定的线性表中;
4 数据元素删除
4.1 删除指定线性表中的第i个数据元素
4.2 删除指定线性表中的满足某种条件的数据元素
5 排序
5.1 升序
5.2 和降序
6 合并
将2个排序好(同序)的链表合并
6.1 链表A和链表B排序后结果在A中,B销毁
6.2 链表A和链表B排序后结果在C中,A、B不变
一般合并
6.3 链表A和链表B首尾相连在A中,B销毁
7 链表显示。
7.1 全部显示
7.2 根据名称显示
题目二 算术表达式求值
输入一个算术表达式,完成:
1 计算表达式的值;
2 生成表达式二叉树;
3 根据表达式二叉树求表达式的值
4 先序遍历表达式二叉树,根据先序遍历序列(波兰式)求表达式的 值;
5 中序遍历表达式二叉树,要求恢复必要的括号;
后序遍历表达式二叉树,根据后序遍历序列(逆波兰式)
求表达式的值;
树结点类型
typedef struct node
{
int kind; 结点类型 1 操作数 0 运算符
union {
int op;
char opr;
} data;
struct node *lchild,rchild;
} NODE;
NODE *p;
if (p->kind==0)
p->data.opr 有效(如p->data.opr=‘+’;)
else
p->data.op 有效(如p->data.op=123;)
题目三 哈希表及其应用
建立一个小型信息管理系统(可以是图书、人事、学生、物资、商品等任何信息管理系统)。
要求:
1 使用哈希查找表存储信息;
2 实现查找、插入、删除、统计、输出等功能;
3 尝试使用多种哈希函数和冲突解决方法,并通过实际运行测试给出自己的评价。