
数据结构
c语言,数据结构包含线性表、单链表、栈与字符串、递归、树、二叉树、图、检索、排序内容的相关问题程序代码。
小狗菜cai
这个作者很懒,什么都没留下…
展开
-
数据结构-实验十(排序)
并测试在不同数据规模下的排序效率。1、请设计直接插入排序算法函数void insertSort(int a[],int n),对a[1]..a[n]进行升序排序。并测试在不同数据规模下的排序效率。3、请设计简单选择排序算法函数void selectSort(int a[],int n),对a[1]..a[n]进行升序排序。4、请设计shell排序算法函数void shellSort(int a[],int n),对a[1]..a[n]进行升序排序。slnklist.h代码。Arraylo.h代码。原创 2024-11-24 20:30:53 · 301 阅读 · 0 评论 -
数据结构-实验九(检索)
5、已知,二叉树存储结构定义见bstree.h,请编写一个算法函数bstree creatBstree(int a[],int n),以数组a中的数据作为输入建立一棵二叉排序树,并将建立的二叉排序树进行中序遍历。2、利用creatLink()函数从data1.txt中读入不同规模的数据存入不带头结点的单链表,编写基于单链表的顺序查找算法,测试数据量为1万、5万、10万、20万、编写基于数组的顺序查找算法,测试数据量为1万、5万、10万、20万、30万、40万和50万时的数据查询时间。bstree.h代码。原创 2024-11-24 20:25:28 · 392 阅读 · 0 评论 -
数据结构-实验八(图)
3.编写程序实现图采用邻接表存储结构,编程对图进行深度优先遍历。2.编写程序实现图采用邻接表存储结构,编程对图进行广度优先遍历。1.编写程序输出以邻接表为存储结构的无向图的各顶点的度。5.编写程序实现Dijkstra单源最短路径算法。4.编写程序实现Prim求解最小生成树算法。6.编写程序实现拓扑排序算法。原创 2024-11-24 20:18:36 · 318 阅读 · 0 评论 -
数据结构-实验七(二叉树)
3、编写函数bintree prelist(bintree t),bintree postfirst(bintree t),分别返回二叉树t在前序遍历下的最后一个结点地址和后序遍历下的第一个结点地址。4、假设二叉树采用链式方式存储,t为其根结点,编写一个函数int Depth(bintree t, char x),求值为x的结点在二叉树中的层次。2、编写算法函数void levelbintree(bintree t),实现二叉树的层次遍历。原创 2024-11-24 20:10:37 · 291 阅读 · 0 评论 -
数据结构-实验六(树)
根据输入的树的括号表示字符串s,生成树的存储结构。例如,若要建立教材图6.4所示的树,应输入A(B(E,F),C,D(G(I,J,K),H))。(说明,tree.h中定义的常量m表示树的最大度,请根据建树的需要自行修改m的值)3、 假设树采用指针方式的孩子表示法表示,试编写一个非递归函数void PostOrder1(tree t),实现树的后序遍历算法。4、假设树采用指针方式的孩子表示法表示,试编写一个函数int equal(tree t1, tree t2),原创 2024-11-24 20:04:10 · 331 阅读 · 0 评论 -
数据结构—实验五(递归)
请编写递归函数int binSearch(int a[], int left, int right,int key), 采用二分查找法在数组a[left..right]中查找值为key的元素所在的位置,若查找失败函数返回-1。2、请编写一个递归算法函数void partion(int a[], int left, int right),将数组a[left..right]中的所有奇数调整到表的左边,所有偶数调整到表的右边。slnklist.h代码。Arraylo.h代码。原创 2024-11-24 19:53:26 · 473 阅读 · 0 评论 -
数据结构-实验四(栈与字符串)
4.已知字符串采用带结点的链式存储结构(详见linksrting.h文件),请编写函数linkstring substring(linkstring s,int i,int len),在字符串s中从第i个位置起取长度为len的子串,函数返回子串链表。2.利用链式栈结构,编写算法函数void Dto16(unsigned int m)实现十进制无符号整数m到十六进制数的转换功能。3.判断是否为运算符,判断运算符的优先级 ,缀表达式,转换为后缀表达式,将数字字符串转变成数值 , 后缀表达式求值程序。原创 2024-11-14 21:08:55 · 262 阅读 · 1 评论 -
数据结构-实验三(带头结点的单链表)
3.假设带头结点的单链表head是升序排列的,设计算法函数linklist insert(linklist head,datatype x),将值为x的结点插入到链表head中,并保持链表有序性。an)采用带头结点的单链表存储,请设计算法函数void reverse(linklist head),将带头结点的单链表head就地倒置,使表变成(an,an-1,…4.编写算法函数void delallx(linklist head, int x),删除带头结点单链表head中所有值为x的结点。原创 2024-11-14 20:58:01 · 276 阅读 · 0 评论 -
数据结构-实验二(不带头节点的单链表)
3.假设不带头结点的单链表head是升序排列的,设计算法函数linklist insert(linklist head,datatype x),将值为x的结点插入到链表head中,并保持链表有序性。分别构造插入到表头、表中和表尾三种情况的测试用例进行测试。2.假设线性表(a1,a2,a3,…an)采用不带头结点的单链表存储,请设计算法函数linklist reverse1(linklist head)和void reverse2(linklist *head)将不带头结点的单链表head就地倒置,原创 2024-11-14 20:51:11 · 328 阅读 · 0 评论 -
数据结构-实验一(线性表的顺序实现)
1.编写一个算法函数void sprit( sequence_list *L1,sequence_list *L2,sequence_list *L3),将顺序表L1中的数据进行分类,奇数存放到存到顺序表L2中,偶数存到顺序表L3中,编写main()进行测试。4.假设顺序表la与lb分别存放两个整数集合,函数inter(seqlist *la,seqlist *lb,seqlist *lc)的功能是实现求顺序表la与lb的交集存放到顺序表lc中。原创 2024-11-14 20:40:58 · 179 阅读 · 0 评论