- 博客(9)
- 收藏
- 关注
原创 常见排序算法实现分析与优化:C++实现
通过对排序算法的学习和实现,不仅能帮助我们更好地理解算法的复杂度,还能提升我们解决实际问题的能力。快速排序是一种分治法的排序算法,它通过选取一个基准值,将数组分为两个部分,再递归地排序这两个部分。在实现这些排序算法时,我们还可以做一些优化,例如提前终止不必要的循环,选择合适的基准值等。通过这些排序算法的学习,我不仅掌握了常见的排序技巧,还了解了算法的时间复杂度和空间复杂度,为后续的算法学习奠定了基础。:选择不同的基准值可能影响排序的效率,常见的优化方法是采用“三数取中”法,避免选择极端的基准值。
2025-04-14 20:49:19
912
原创 C++实现基于邻接矩阵的图遍历(BFS与DFS)
本篇文章介绍了如何使用 C++ 实现图的 BFS 和 DFS 遍历,基于邻接矩阵存储图,并提供详细的代码分析。这些遍历方法在解决连通性、路径查找等问题时非常有用。希望本篇文章能帮助你更好地理解图的遍历算法!
2025-04-03 20:27:26
811
原创 C++实现二叉树的基本操作与线索化
在C++中,我们使用类来定义二叉树的节点(binode)和二叉树结构(bitree每个节点包含一个数值、左右子节点指针,以及用于线索化的标记。public:binode(int val, int ltag = 0,int rtag=0) {//含参构造int val;//数值//左指针//右指针int ltag;//用于线索化int rtag;//0 表示指向的是指针指向的是孩子,1表示指针指向的是线索。
2025-03-30 21:14:21
442
原创 C++ 并查集实现及优化:路径压缩与按秩合并
并查集是一种高效的数据结构,适用于动态连通性问题。通过路径压缩和按秩合并,我们可以将Find和Union操作的时间复杂度优化至近似 O(1),在图论算法和动态连通性问题中非常实用。希望这篇文章能帮助你理解并查集的实现及优化!如果有任何问题,欢迎在评论区交流!
2025-03-30 20:29:49
763
原创 C++实现顺序队列
这次记录一下我用 C++ 完成循环队列(环形队列)实现的过程,主要目的是熟悉以及。我创建了队列类(用顺序存储的方式【主要用的数组】) 其中使用front和rear来标识对头元素和这里不同的设定在后面判空判满的条件不同) 本方法主要使用%的方式实现队列的循环一下是我的Queue类的成员函数 ,也就是queue类的操作。
2025-03-17 20:56:48
518
原创 C++类模板实现顺序栈
在实际开发中,栈是一种非常常见且重要的数据结构,具有“后进先出(LIFO)”的特性。无论是表达式求值、括号匹配,还是函数调用过程中的栈帧管理,栈都起着关键作用。我们可以用数组或链表来实现栈,而这段代码采用的是,并且使用了模板技术,支持不同的数据类型(例如intdoublestring等)来构造不同类型的栈,具有很好的通用性。
2025-03-17 19:03:04
278
原创 【C++模板】基于模板的单链表实现(支持增删查改、头插法、尾插法、反转)
链表是数据结构中的经典内容,作为一种灵活的线性结构,在实际开发中具有广泛应用。相比数组,链表不需要预分配固定大小的内存,支持动态扩展,插入和删除操作效率较高。 在这篇文章中,我将基于 C++模板(template) 实现一个通用的单链表类,支持任意数据类型,并封装了常见的链表操作,如: 插入(任意位置) 删除(指定位置) 按值查找、按位置取值 头插法、尾插法创建链表 反转链表 判断是否为空、清空链表 在链表末尾直接添加元素
2025-03-17 18:53:49
520
原创 c++封装顺序表对象
【注意】在对结构体进行操作的时候 int LocateElem(T t) 函数内是直接用的==号 这里一般会编译报错 需要用户自己修改!最近在准备备战考研 在学习数据结构中的顺序表的时候 就想自己动手 将这些操作都实现 所以者篇文章就来了。代码中只展示了顺序表对象的操作 并没有实际的调用代码 有需要的要自己写main函数来测试哦。这个代码中定义顺序表的时候是利用了模板的 可对任意数据类型进行操作。之后我也将继续更新用代码将数据结构实现!以上均为我个人看法 如有错误 恳请指正!
2025-03-11 17:16:44
145
原创 C语言程序终端实现小游戏--贪吃蛇
贪吃蛇是一个家喻户晓的小游戏,近期学习的c语言 ,想着用c语言写了一个小游戏贪吃蛇,用户使用aswd来控制蛇吃随机生成的食物,游戏规则,蛇碰到墙壁 或者碰到是自己的身体就结束游戏,游戏过程中 蛇每次碰到食物都会加分(10分) 并且提高一点速度,最后游戏结束后将打印该次游戏的总分数!这个项目给我的心得就是游戏的本质就是用循环不断运行,所以我也会继续努力,多学点知识!(5).PlayGame()用于获取用户的输入并反馈显示游戏进行。(2).InitSnake()用于初始化蛇。下面将具体解释该程序。
2025-03-06 20:57:47
429
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅