![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构实验
C
奈川直子
Voiceless Screaming
展开
-
静态查找表的操作
一、操作要求1.根据输入的查找表的表长n和n个关键字值,建立顺序查找表;2.用顺序查找方法在上述顺序查找表中查找与已经给定关键值相等的记录;3.选择一种排序方法对1中建立的顺序查找表进行排序;4.在3中的有序查找表中用二分查找方法查找与已经给定关键值相等的记录 ;5.编写main函数,设计菜单使用户能通过菜单的选择多次通过调用上述功能函数来实现所选择的查找操作,并且在每次操作后都输出其操作结果:若查找成功,则输出“查找成功”并输出这条记录在表中的位置,否则输出“查找失败”。二、代码实原创 2021-12-08 20:36:36 · 1720 阅读 · 0 评论 -
内排序的操作
一、操作要求1.输入同样一组整型数据,作为待排序记录的关键字序列。2.在进行直接插入排序、冒泡排序、简单选择排序的同时统计在排序过程中对关键字的比较次数和移动次数,并分别输出排序前的数据序列和排序后的数据序列及其统计结果。3.在进行希尔排序、快速排序和归并排序的同时统计在排序过程中对关键字的比较次数和移动次数,并分别输出排序前的数据序列和排序后的数据序列及其统计结果。4.在主程序中设计一个菜单,使用户可选择执行其中的任何一种或几种排序,并查看排序结果。二、代码实现#include&原创 2021-12-04 00:03:02 · 1442 阅读 · 0 评论 -
二叉树的遍历操作
一、操作要求1.假设二叉树的结点值是字符,先根据输入一棵二叉树标明空子树的完整先根遍历序列或者根据输入一棵二叉树的先根遍历序列和中根遍历序列或者根据输入一棵二叉树的后根遍历序列和中根遍历序列,建立一棵以二叉链表表示的二叉树,并输出建立后的二叉树的先根、中根、后根遍历序列,观察其建立的二叉树是否正确;2.复制上述建立的二叉树,并输出复制后的二叉树的后根遍历序列,观察其复制操作是否正确;3.判断复制后形成的二叉树是否与原二叉树相等,如果相等,则报告“这两棵树是相等的,复制操作成功”,否则报告“这两棵原创 2021-11-13 00:00:56 · 3260 阅读 · 4 评论 -
栈与队列的操作
一、操作要求1.关于栈的要求(1)建立一个数据元素值为一个字符的带头结点的单链表,并输出单链表中字符序列, 观察输入的内容与输出的内容是否一致。(2)借助一个栈判断上述已知单链表中字符序列是否为回文,如果是,则输出“此链表中的字符序列构成回文”,否则输出“此链表中的字符序列不构成回文”。2.关于队列的要求(1)根据输入的队列长度n和各元素值建立一个带头结点的循环链表表示的队列(循环链队列),并且只设一个尾指针来指向尾结点,然后输出队列中各元素值。(2)将数据元素e入队,并输出入队后的原创 2021-10-27 22:42:14 · 1363 阅读 · 0 评论 -
删除重复元素
一、操作要求 根据输入表的长度m和m个非递减的有序整数建立一个有序顺序表和有序单链表,然后有尽量高效的方法删除其中所有的重复元素(即相同的整数只保留一个)最后输出删除后的表中各元素值。二、代码实现Status SqL_DeleteDuplicate(SqList &L){ int i,k; printf("请输入顺序表长度:"); scanf("%d",&L.length); printf("请输入顺序表各个元素:\n"); for (...原创 2021-10-18 20:03:54 · 600 阅读 · 0 评论 -
线性表的操作
一、操作要求1.根据输入表的长度n和n个无序整数值建立一个顺序表和带头结点的单链表,并输出创建好的表中各元素值;2.在顺序表和单链表的第i个元素之前插入一个值为x的元素,并输出插入后表中各元素值;3. 删除顺序表和单链表中第i个元素,并输出删除后的表中各元素值;4. 在顺序表中查找值为e的数据元素,如果查找成功,则输出“查找成功!”和该元素在顺序表中的位置,否则输出“查找失败!”;在单链表中查找第i个数据元素结点,如果查找成功,则输出“查找成功!”和该结点的数据元素值,否则输出“查找失败!”原创 2021-10-18 19:56:57 · 835 阅读 · 0 评论