会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
smartlearn
博客园
首页
新随笔
新文章
联系
订阅
管理
2024年8月7日
【C/C++】 现有n个正整款,n<10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次)k≤1000,正整数均小于30000.
摘要: 现有n个正整款,n<10000,要求出这n个正整数中的第k个最小整数(相同大小的整数只计算一次)k≤1000,正整数均小于30000.第一行输入n和k,第二行输入有n个正整数的数组(有重复的数字) #include <iostream> #include <algorithm> using name
阅读全文
posted @ 2024-08-07 15:13 wshidaboss
阅读(33)
评论(0)
推荐(0)
编辑
2024年4月7日
【C/C++】循环链表实现约瑟夫问题
摘要: #include <iostream> using namespace std; typedef struct node { int data; node* next; node() :data(0), next(nullptr) {} node(int x) :data(x), next(null
阅读全文
posted @ 2024-04-07 11:27 wshidaboss
阅读(113)
评论(0)
推荐(0)
编辑
2024年3月6日
【C++】返回每一层二叉树的平均值(层序遍历)
摘要: //返回每一层二叉树的平均值(广度优先搜索,队列) 层序遍历 vector<double> averageOfLevels(TreeNode* root) { vector<double> ans; if (!root) return ans; queue<TreeNode*> q; q.push(
阅读全文
posted @ 2024-03-06 11:35 wshidaboss
阅读(7)
评论(0)
推荐(0)
编辑
【C++】判断一颗二叉树是否对称
摘要: 四步法: (1)如果两个子树都为空指针,则它们相等或对称 (2)如果两个子树只有一个为空指针,则它们不相等或不对称 (3)如果两个子树根节点的值不相等,则它们不相等或不对称 (4)根据相等或对称要求,进行递归处理。 //四步法判断一颗二叉树是否对称 //主函数 bool isSymmetric(Tr
阅读全文
posted @ 2024-03-06 11:34 wshidaboss
阅读(65)
评论(0)
推荐(0)
编辑
【C++】翻转二叉树(递归、非递归)
摘要: //使用递归翻转二叉树 TreeNode* reverseTree(TreeNode* root) { if (!root) return root; swap(root->left, root->right); reverseTree(root->left); reverseTree(root->
阅读全文
posted @ 2024-03-06 11:30 wshidaboss
阅读(39)
评论(0)
推荐(0)
编辑
【C++】求二叉树的最大深度和最小深度
摘要: //求一颗二叉树的最大深度 求高度:后序遍历 求深度:前序遍历 int maxDepth(TreeNode* root) { return root ? 1 + max(maxDepth(root->left), maxDepth(root->right)) : 0; } //求一颗二叉树的最小深度
阅读全文
posted @ 2024-03-06 11:30 wshidaboss
阅读(52)
评论(0)
推荐(0)
编辑
【C++】二叉树的前序、中序、后序遍历(递归、非递归)
摘要: #include <vector> #include <iostream> #include <string> using namespace std; //二叉树的定义 struct TreeNode { int val; TreeNode* left; TreeNode* right; Tree
阅读全文
posted @ 2024-03-06 11:28 wshidaboss
阅读(35)
评论(0)
推荐(0)
编辑
2024年2月29日
【C++】Mat和Pat希望邀请他们的朋友来参加派对。他们要编写一个程序完成下面的任务。 让Mat输入他朋友的姓名列表。姓名存储在一个容器中,然后按排列后的顺序显示出来。 让Pat输入她朋友的姓名列表。姓名存储在另一个容器中,然后按排列后的顺序显示出来。 创建第三个容器,将两个列表合并,删除重复的部分,并显示这个容器的内容。
摘要: Mat和Pat希望邀请他们的朋友来参加派对。他们要编写一个程序完成下面的任务。 让Mat输入他朋友的姓名列表。姓名存储在一个容器中,然后按排列后的顺序显示出来。让Pat输入她朋友的姓名列表。姓名存储在另一个容器中,然后按排列后的顺序显示出来。创建第三个容器,将两个列表合并,删除重复的部分,并显示这个
阅读全文
posted @ 2024-02-29 11:27 wshidaboss
阅读(11)
评论(0)
推荐(0)
编辑
【C++】相对于数组,在链表中添加和删除元素更容易,但排序速度更慢。这就引出了一种可能性:相对于使用链表算法进行排序,将链表复制到数组中,对数组进行排序,再将排序后的结果复制到链表中的速度可能更快;但这也可能占用更多的内存。请使用如下方法检验上述假设。
摘要: 相对于数组,在链表中添加和删除元素更容易,但排序速度更慢。这就引出了一种可能性:相对于使用链表算法进行排序,将链表复制到数组中,对数组进行排序,再将排序后的结果复制到链表中的速度可能更快;但这也可能占用更多的内存。请使用如下方法检验上述假设。 a.创建大型vector<int>对象vi0,并使用ra
阅读全文
posted @ 2024-02-29 10:27 wshidaboss
阅读(6)
评论(0)
推荐(0)
编辑
2024年2月21日
【C++】编写一个具有老式风格接口的函数,其原型如下:int reduce(long arr[], int n)。实参应是数组名和数组中的元素个数。该函数对数组进行排序,删除重复的值,返回缩减后数组中的元素数目。请使用STL函数编写该函数(如果决定使用通用的unique( )函数,请注意它将返回结果区间的结尾)。使用一个小程序测试该函数。
摘要: #include <iostream> #include <string> using namespace std; int reduce(long arr[], int n) { sort(arr, arr + n); auto str = unique(arr, arr + n); return
阅读全文
posted @ 2024-02-21 17:47 wshidaboss
阅读(4)
评论(0)
推荐(0)
编辑
下一页