数据结构与算法
数据结构与算法
钟离默
半路出家的程序狗
展开
-
快速排序详解
一、快速排序递归算法思想在数组中选一个基准数,通常为数组第一个元素。选取左右边界的两个位置为哨兵。左边的哨兵不断向右移动找比基准大的,右边的哨兵不断向左移动找比基准小的。如果找到了就交换两个元素的位置,直到左右两哨兵位置一致,然后将哨兵最后一致时位置的元素与基准元素进行交换。此时在基准元素左边的都比基准元素小,在基准元素右边的都比基准元素大。再依次递归基准元素的左边区域和右边区域,最后全部有序。二、快速排序迭代算法思想比递归算法多了一个空间用来存储未有序的区域位置,可以用栈、队列或其它合原创 2021-08-16 15:02:49 · 129 阅读 · 0 评论 -
求n个数中m个数的所有组合C++代码
今天帮贴吧吧友解决一个组合的问题,本来是求固定个数的n个数其中m个数的所有组合,后来说要改成非固定的,想了很久没想出来怎么做,哈哈,能力有限,还有很大的提升空间。然后就上网搜了一下相关的代码,果然有前辈的代码可以参考,找了一篇比较容易看懂的,看懂之后觉得原来的代码写的有点繁琐,就稍作了修改,总体思路没有改变,还是采用逐层递归的方法,只是简化了下代码,改了下风格。代码如下:#include <iostream>#include <vector>using namespace原创 2021-08-13 16:28:08 · 649 阅读 · 0 评论 -
C++基础排序算法(代码)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-08-13 15:35:21 · 70 阅读 · 0 评论