数据结构代码汇总
劲夫学编程
扬州大学软件工程在读研究生
C语言学习在《C语言快速入门》和《C语言考研重置版》,个人建议看考研重置版,讲的更详细
数据结构详解在《数据结构专栏》
数据结构代码在《数据结构代码汇总》
JAVA学习在《JAVA快速入门》和《java EE》
读者可自行查看作者专栏,与君共同进步
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
试以单链表为存储结构实现简单选择排序的算法
以单链表为存储结构,实现简单选择排序原创 2023-12-14 21:12:49 · 1488 阅读 · 0 评论 -
设计一算法,对单链表实现就地逆置
举个例子:现在有一个空链表,我们依次对它进行头插123。那么形成的链表是321,这样就形成了逆置。对单链表逆置,要联想到单链表的头插性质。注:带头结点链表初始化及打印函数。原创 2023-12-06 17:50:08 · 561 阅读 · 0 评论 -
n个整数存放在一个一维数组A中,任选一种程序设计语言,编写一个函数,利用递归的方法,求数组中各整数的平均值
递归求解数组平均值原创 2023-12-02 15:57:13 · 377 阅读 · 0 评论 -
已知数组A[1..n]中元素类型为非负整数,设计算法将其调整为左右两部分,左边所有为奇数,右边所有为偶数,并要求算法的时间复杂度为O(n)
【代码】已知数组A[1..n]中元素类型为非负整数,设计算法将其调整为左右两部分,左边所有为奇数,右边所有为偶数,并要求算法的时间复杂度为O(n)原创 2023-12-01 18:51:48 · 451 阅读 · 0 评论 -
设a是含有n个分量的整数数组,写出求a中n个整数的最大值的递归函数
递归求数组最大值原创 2023-11-29 14:32:27 · 394 阅读 · 0 评论 -
编写算法,对n个关键字取整数值的记录序列进行整理。以使所有关键字为负值的记录排在关键字为非负值的记录之前
负值到正值前面,时间复杂度为O(n)原创 2023-11-27 16:01:53 · 726 阅读 · 0 评论 -
用按层次顺序遍历二叉树的方法,设计算法统计树中度为1的结点数目
题目和普通层序遍历唯一不同的就是要统计树中度为1的结点,那么我们每次出队头元素,入队尾元素时,判断一下这个出队的元素它的左右孩子是不是只有一个,如果只有一个则count++即可。用按层次顺序遍历二叉树的方法,设计算法统计树中度为1的结点数目。然后下面循环执行:队头元素出队,队头元素的左右子树入队。首先将根结点入队,然后根出队,把根的两个子树入队。层序遍历的实现需要借助一个辅助队列。原创 2023-11-27 15:14:57 · 1678 阅读 · 0 评论 -
设二维数组a[1...m,1...n]()含有m*n个整数。写一个算法判断a中所有元素是否互不相同,并输出相关信息(yes/no)
判断二维数组元素是否互不相同原创 2023-11-27 14:56:00 · 1042 阅读 · 0 评论 -
设计一个算法,将链表中所有结点的链接方向“原地”逆转,即要求仅利用原表的存储空间,换句话说,要求算法的空间复杂度为O(1)
链表原地逆置原创 2023-11-26 17:21:03 · 1084 阅读 · 0 评论 -
已知两个链表L1和L2分别表示两个集合,其中元素递增排列。请设计一个算法,用于求出L1与L2的交集,并存放在L1链表中
请设计一个算法,用于求出L1与L2的交集,并存放在L1链表中。原创 2023-11-26 16:47:15 · 500 阅读 · 0 评论 -
试写一算法将两个递增有序的带头结点的单链表合并为一个递增有序的带头结点的单链表。(利用原表结点空间)
试写一算法将两个递增有序的带头结点的单链表合并为一个递增有序的带头结点的单链表。原创 2023-11-25 15:51:28 · 889 阅读 · 0 评论 -
【21年扬大真题】编写程序,通过指针p的改变,实现一维数组的输入及逆序输出
【21年扬大真题】编写程序,通过指针p的改变,实现一维数组的输入及逆序输出。例如,输入为1,2,3,4,5,6,7;输出为7,6,5,4,3,2,1。法一:不改变原数组,仅逆序打印输出。法二:改变数组中数据位置,也就是第一个与最后一个交换,第二个与倒数第二个交换。原创 2023-11-25 14:37:07 · 202 阅读 · 0 评论 -
【21年扬大真题】编写程序,去除掉字符串中所有的星号。
编写程序,去除掉字符串中所有的星号。原创 2023-11-24 21:53:26 · 224 阅读 · 0 评论 -
【20年扬大真题】删除字符串s中的所有空格
删除字符串s中的所有空格原创 2023-11-22 16:47:59 · 212 阅读 · 0 评论 -
【20年扬大真题】编写程序,功能是给a数组输入30个数据,并以每行5个数据的形式输出
【20年扬大真题】编写程序,功能是给a数组输入30个数据,并以每行5个数据的形式输出。原创 2023-11-22 16:28:46 · 134 阅读 · 0 评论 -
【20年扬大真题】编写程序,功能是计算1~10之间的偶数之和
编写程序,功能是计算1~10之间的偶数之和。原创 2023-11-22 16:16:09 · 124 阅读 · 0 评论 -
【20年扬大真题】编写程序,功能是从键盘输入若干4位数字学号,然后输出学号中百位数字是3的学号 (输入0时结束循环)
编写程序,功能是从键盘输入若干4位数字学号,然后输出学号中百位数字是3的学号。(输入0时结束循环)原创 2023-11-22 16:09:20 · 534 阅读 · 0 评论 -
【20年扬大真题】若已知两棵二叉树B1和B2皆为空,或者皆不为空且B1的左右子树和B2的左右子树分别相似,则称二叉树B1和B2相似,试编写算法,判别给定两棵二叉树是否相似。
若已知两棵二叉树B1和B2皆为空,或者皆不为空且B1的左右子树和B2的左右子树分别相似,则称二叉树B1和B2相似,试编写算法,判别给定两棵二叉树是否相似。原创 2023-11-22 15:51:06 · 175 阅读 · 0 评论 -
【20年扬大真题】试写一算法在带头结点的单链表结构上实现线性表操作LENGTH(L)
试写一算法在带头结点的单链表结构上实现线性表操作LENGTH(L)。原创 2023-11-22 15:32:57 · 227 阅读 · 0 评论 -
【20年扬大真题】设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保障该表的有序性。
试写一算法,将x插入到顺序表的适当位置上,以保障该表的有序性。设顺序表va中的数据元素递增有序。原创 2023-11-21 21:26:58 · 621 阅读 · 0 评论 -
【20年扬大真题】编写对数组求逆的递归算法
编写对数组求逆的递归算法。原创 2023-11-21 21:08:11 · 447 阅读 · 0 评论 -
【19年扬大真题】给定有m个整数的递增有序数组a和有n个整数的递减有序数组b,将a数组和b数组归并为递增有序的数组c
【19年扬大真题】给定有m个整数的递增有序数组a和有n个整数的递减有序数组b,将a数组和b数组归并为递增有序的数组c。原创 2023-11-20 19:51:35 · 317 阅读 · 0 评论 -
【19年扬大真题】已知a数组int a[ ]={1,2,3,4,5,6,7,8,9,10},编写程序,求a数组中偶数的个数和偶数的平均值
【19年扬大真题】已知a数组int a[ ]={1,2,3,4,5,6,7,8,9,10},编写程序,求a数组中偶数的个数和偶数的平均值。原创 2023-11-20 19:13:50 · 332 阅读 · 0 评论 -
【18年扬大真题】定义一个类Student记录学生计算机课程的成绩。要求使用静态成员变量或静态成员函数计算全班学生计算机课程的总成绩和平均成绩
定义一个类Student记录学生计算机课程的成绩。要求使用静态成员变量或静态成员函数计算全班学生计算机课程的总成绩和平均成绩。原创 2023-11-18 20:42:03 · 228 阅读 · 0 评论 -
【18年扬大真题】定义一个Point类,要求如下所述。(1)用构造函数初始化Point类的对象(2)定义函数Distance,计算平面上两点之间的距离
【18年扬大真题】定义一个Point类,要求如下所述。(1)用构造函数初始化Point类的对象。(2)定义函数Distance,计算平面上两点之间的距离。原创 2023-11-18 20:17:53 · 362 阅读 · 0 评论 -
【18年扬大真题】创建并打印一个单链表。要求生成线性表时,从键盘读取元素,用链式存储结构(单链表)实现存储。单链表数据元素限定为非“0”元素,单链表长度不限,数据元素的输入以“0”为结束标志。
【18年扬大真题】创建并打印一个单链表。要求生成线性表时,从键盘读取元素,用链式存储结构(单链表)实现存储。单链表数据元素限定为非“0”元素,单链表长度不限,数据元素的输入以“0”为结束标志。原创 2023-11-17 17:53:21 · 149 阅读 · 0 评论 -
【18年扬大真题】若已知两棵二叉树B1和B2皆为空,或者皆不为空且B1的左、右子树和B2的左、右子树分别相似,则称二叉树B1和B2相似。试编写算法,判定两棵二叉树是否相似。
【18年扬大真题】若已知两棵二叉树B1和B2皆为空,或者皆不为空且B1的左、右子树和B2的左、右子树分别相似,则称二叉树B1和B2相似。试编写算法,判定两棵二叉树是否相似。原创 2023-11-17 17:39:47 · 300 阅读 · 0 评论 -
【18年扬大真题】若矩阵Am*n中存在某个元素aij满足:aij是第i行中最小值,且是第j列中最大值,则称该元素为矩阵A的一个鞍点。试编写一个算法,找出A中所有的鞍点。
若矩阵中存在某个元素aij满足:aij是第i行中最小值,且是第j列中最大值,则称该元素为矩阵A的一个鞍点。试编写一个算法,找出A中所有的鞍点。原创 2023-11-17 17:21:50 · 522 阅读 · 0 评论 -
【17年扬大真题】分别设计有序表的这把查找(用递归实现)、有序表的折半查找(用非递归实现)的算法。待查找的元素的关键字为整数,用户可由键盘输入表中元素和待查找的元素,要求输入的数据以“0”为结束标志。
17年扬大考研真题:折半查找的递归/非递归两种实现办法原创 2023-11-16 16:46:34 · 237 阅读 · 0 评论 -
给出n个学生的考试成绩表,每条信息由姓名与分数组成,试设计一算法:
1.给出n个学生的考试成绩表,每条信息由姓名与分数组成,试设计一个算法:(1)按分数高低次序,打印出每个学生在考试中获得的名次,分数相同的为同一名次。(2)按名次列出每个学生的姓名与分数。学生的考试成绩通过键盘输入数据建立。可采用直接选择排序、直接插入排序、Shell排序、冒泡排序、快速排序、归并排序等排序算法实现。原创 2023-11-15 20:52:24 · 2631 阅读 · 0 评论 -
试利用栈的基本操作写出先序遍历二叉树的非递归形式的算法
本文介绍了如何用栈实现二叉树先序遍历的解决办法,代码思路详细原创 2023-11-05 19:44:54 · 536 阅读 · 0 评论 -
二叉树按二叉链表形式存储,试编写一个判别给定二叉树是否是完全二叉树的算法
本文详细介绍了如何判断一棵二叉树是否是完全二叉树,过程思路及代码注释详细原创 2023-11-04 16:12:35 · 1219 阅读 · 0 评论 -
二叉树采用二叉链表存储:编写计算二叉树最大宽度的算法(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)
本文详细介绍了树的最大宽度求解办法,求解过程和代码注释详细原创 2023-11-04 15:07:24 · 2058 阅读 · 0 评论 -
二叉树采用二叉链表存储:编写计算整个二叉树高度的算法
C语言实现计算二叉树高度,思路+代码原创 2023-11-03 10:47:10 · 1081 阅读 · 0 评论 -
编写计算二叉树中叶子结点数目的算法
计算二叉树中叶子结点个数原创 2023-11-03 10:25:54 · 2559 阅读 · 0 评论 -
二叉树层序遍历
二叉树层序遍历思路及代码实现原创 2023-11-03 10:10:20 · 270 阅读 · 0 评论 -
在一个循环链队中只有尾指针(记为rear,结点结构为数据域data,指针域next),请给出这种队列的入队和出队操作实现过程
只带尾指针的循环队列出队入队操作实现原创 2023-11-03 09:31:28 · 639 阅读 · 0 评论 -
判断表达式中开闭括号是否配对出现。运用栈实现表达式开、闭括号是否配对出现算法
C语言实现栈的应用——括号匹配问题,附力扣刷题链接及代码原创 2023-11-02 20:10:34 · 981 阅读 · 0 评论 -
两种办法实现进制转换:将十进制数N转换成为r进制数
进制转换的两种办法C语言实现原创 2023-11-02 17:08:00 · 2944 阅读 · 0 评论 -
利用两个栈s1,s2模拟一个队列时,如何用栈的运算来实现该队列的运算?写出模拟队列插入和删除的函数。一个栈s1用于插入元素,另一个栈s2用于删除元素
两个栈实现一个队列C语言实现,注释详细原创 2023-11-01 20:20:31 · 422 阅读 · 0 评论
分享