数据结构(C语言版)实验,由河南理工大学信息管理与信息系统1803版第四组
制作。
制作本次内容是为了完善实验报告册,代码全部C++.
Status InitList(SqList &L)
Status Listinsert(SqList &L, int i, int e )
Status ListIndele(SqList &L, int i, int &e )
Status ListInprint(SqList L)
void MergeList(SqList La, SqList Lb, SqList &Lc)
void Inverse(SqList &Lc)
完成以上几个函数,实现手工创建两个非递减序列存放于La和 Lb中,并调用MergeList
实现数据的合并。合并之后用Inverse
把Lc
中的数据就地逆置(不占用太多额外辅助空间,空间复杂度为常数级别)。
1、对于插入与删除位置若不合法请给出适当提醒 2、若输入的数据不是非递减排列可通过自己写的sort()函数排序后再进行后续操作
根据所给的一元多项式相加的程序,写出一元多项式相乘的程序并调试通过。
1、写出一元多项式的横向输出方式,当系数为零时,要求重新输入数据。
2、把加法改写成Lc=La+Lb
,方便进行 Lc=La*Lb
1、用堆栈(链栈)实现括号匹配算法,其中要求对所给出字符串中的{}
、【】
、()
均可检测是否匹配。
2、借助循环队列实现将堆栈中的给定值删除。
//将一个不包含’#’字符串str赋值到块链类型变量T中
void strassign(Lstring &T,char *str)
//将一个块链T中的所有结点释放,最终使得T.head=T.tail=null T.curlen=0
void clrstring(Lstring &T)
//打印一个存放在块链T中的字符串
void strprint(Lstring T)
//将块链S插入到块链T中第pos个字符之前
void strinsert(Lstring &T,int pos,Lstring S)
//将块链T中间的’#’去掉,重新放入块链T中
void zip(Lstring &T)
int main( )
{
char s[100]; lstring T1,T2;
printf(“\n请输入第一个长度不超过100个字符的字 符串(不包含字符\'#\'):");
gets(s);
strassign(T1,s);
strprint(T1);
printf("\n请输入第二个长度不超过100个字符的字符串(不包含字符\'#\'):");
gets(s);
strassign(T2,s);
strprint(T2);
strinsert(T1,5,T2); zip(T1);
strprint(T1);getchar();
return 0;
}
用二叉链表存储方式存储二叉树,并实现以下相关算法:
1、创建二叉树
2、用非递归算法先中后序遍历二叉树
3、分别求出二叉树中度为0、1、2
的结点个数
4、求出树的高度
用邻接表存储方式存储有向图,并实现以下相关算法:
1、创建有向图的邻接表
2、分别用深度优先和广度优先遍历有向图
3、对创建的有向图进行拓扑排序
用二叉链表存储方式存储二叉排序树,并实现以下相关算法:
1、创建二叉排序树
2、在二叉排序树上实现查询、插入和删除算法
3、对二叉排序树进行中序遍历以判断目标2是否完成
用顺序表存储方式存储实验数据,并实现以下相关算法:
1、希尔排序
2、快速排序
3、堆排序
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。