数据结构
文章平均质量分 86
wuw-t_t
这个作者很懒,什么都没留下…
展开
-
二叉堆的基本操作
printf("取出当前堆中的最大元素为:%d\n", DeleteMax(H));/*1、原始数据为 1 2 3 4 5 6 ,请构建二叉堆 ,依次打印二叉堆中的元素。/* 1.取出根结点最大值,用最大堆中最后一个元素替换根节点元素 *//* 下滤:将H中以H->Data[r]为根的子堆调整为最大堆 *//* 调整H->data[]中的元素,使满足最大堆的有序性 */2、打印堆中的最大元素并删除后,依次打印二叉堆中的元素。/* 元素已放入最大堆的数组中 */printf("堆中的元素为:");原创 2024-05-17 19:33:13 · 764 阅读 · 0 评论 -
二叉树的层次遍历的应用
int JudgeComplete(BitTree *bt) //判断二叉树是否是完全二叉树,如是,返回1,否则,返回0。/* 左、右指针域,分别存储左、右孩子的存储位置 */if (p) { // 结点非空,则二叉树为非完全二叉树。//判断二叉树是否是完全二叉树,如是,返回1,否则,返回0。/*顺序循环队列判空,返回1表示空,0表示非空*//*顺序循环队列判满,返回1表示满,0表示非满*//* 先序建立二叉树 *//*顺序循环队列初始化*//*顺序循环队列入队*//*顺序循环队列出队*/原创 2024-05-17 19:31:56 · 831 阅读 · 0 评论 -
二叉树的递归遍历应用
* 先序遍历根结点的右子树 *//* 中序遍历根结点的右子树 *//* 后序遍历根结点的右子树 */printf("度为1结点的个数为:%d\n", LeafCount_1(bt));printf("度为2结点的个数为:%d\n", LeafCount_2(bt));/* 读入数据 */printf("%c", bt->data);printf("结点总个数为:%d\n", LeafCount_All(bt));原创 2024-05-08 11:14:52 · 681 阅读 · 1 评论 -
二叉树的建立和遍历
* 左、右指针域,分别存储左、右孩子的存储位置 */typedef char ElemType;/* 数据域值类型 */ElemType data;2.分别使用先序、中序、遍历输出二叉树的结点。/* 先序遍历二叉树的递归算法 *//* 中序遍历二叉树的递归算法 *//* 后序遍历二叉树的递归算法 *//* 二叉树的结点结构 *//* 先序建立二叉树 */原创 2024-04-27 15:04:41 · 474 阅读 · 0 评论 -
栈的应用-模拟队列
2)队列分别有5个元素1、2、3、4、5入队,再来5个元素6、7、8、9、10入队,输出当前队列中的所有元素。只用两个顺序栈S1,s2(S1、S2的大小分别为Max1、Max2)模拟一个顺序队列时,S1栈顶用于模拟队列的队尾,S2栈顶用于模拟队列的队头。printf("队列入队11、出队4个元素后:\n");printf("队列出队1个元素后:\n");3)队列出队1个元素,输出当前队列中的所有元素。5)队列出队4个元素,输出当前队列中的所有元素。// 返回S2栈顶元素,即队列的头元素。原创 2024-04-20 18:20:51 · 861 阅读 · 0 评论 -
栈的应用-最小栈
*-------------1)创建栈,大小为10,压入元素 3,2,2,1通过调用getmin打印最小值----------------*//*--------------2) 弹出1个元素后 通过调用getmin打印最小值---------------*//*--------------3) 再弹出1个元素后通过调用getmin打印最小值---------------*//*--------------4) 再次压入元素4,通过调用getmin打印最小值---------------*/原创 2024-04-17 11:41:59 · 299 阅读 · 1 评论 -
栈的应用-两个栈共享空间
*--------------2)S1分别入栈1,2,3,4,5共5个元素;---------------*//*---------------1、新建栈1)顺序存储空间大小为:5 ----------------*/---------------*//*--------------3)S2入栈元素6,会有栈满提示;/*--------------5)打印顺序存储空间中所有元素---------------*//*---------------6)S2连续出栈两次,会有栈空提示---------*/原创 2024-04-17 11:40:50 · 910 阅读 · 1 评论 -
队列-杨辉三角
提示:分别根据n-1层的数,计算出n层的数并将其打印。1出队 读取3 1和3相加入队 则为3 3 1 4。3出队 读取3 3和3相加入队 则为3 1 4 6。3出队 读取1 3和1相加入队 则为1 4 6 4。此时1出队,说明n-1层读取完毕,输出第n层杨辉三角。/*顺序循环队列判空,返回1表示空,0表示非空*//*顺序循环队列判满,返回1表示满,0表示非满*/printf("队满!/*顺序循环队列初始化*//*顺序循环队列入队*//*顺序循环队列出队*/原创 2024-04-16 13:39:49 · 267 阅读 · 0 评论 -
栈的基本操作-进制转换-括号配对
/ /*---------------2、依次将1,2,3,4,5压入栈中 --------------------------*/// /*---------------3、将栈中元素依次出栈并打印 --------------------------*//*---------------1、新建栈--------------------------*/printf("将十进制正整数%d转换成%d进制数:\n",num,n);printf("不匹配\n");printf("匹配\n");原创 2024-04-16 13:37:20 · 604 阅读 · 0 评论 -
数据结构-顺序表习题
2.原创 2024-04-16 13:34:15 · 692 阅读 · 0 评论 -
单-双链表的基本操作
4)在第5个数据结点后插入数据为16的结点,并打印单链表中的数据。4)在第5个数据结点后插入数据为6的结点,并打印链表中的数据。1)建立一张单链表,数据为11,12,13,14,15;1)建立一张双向链表,数据为1,2,3,4,5;5)删除第1个数据结点,并打印单链表中的数据。5)删除第1个数据结点,并打印链表中的数据。3)查找第3个数据结点的数据并打印。3)查找第3个数据结点的数据并打印。2)打印双向链表中的数据。2)打印单链表中的数据。原创 2024-04-16 13:29:14 · 820 阅读 · 0 评论 -
猴子选大王-顺序表
从第1只开始数,每数到第n个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。// printf("%3d号猴子离开。printf("不存在第%3d个元素\n",i);{ printf("表已满,无法再插入新结点");printf("表为空,无数据信息");printf("请输入m和n,用逗号隔开:");//删除的下一个位置到最后位置的元素迁移。printf("大王的猴子编号为:");// printf("留下的猴子:");//要插入位置到最后位置的元素后移。原创 2024-04-16 13:16:22 · 911 阅读 · 0 评论