- 博客(12)
- 问答 (1)
- 收藏
- 关注
原创 快排QuickSort四种实现代码及简单优化
三数取中是一种优化快速排序算法的方法,可以提高排序的效率。传统的快速排序算法是以待排序数组的第一个元素为基准进行划分,但是如果待排序数组已经有序或接近有序,会导致快速排序的效率很低。三数取中的优化方法是选取待排序数组的头、尾和中间位置的三个元素,然后将这三个元素按照从小到大的顺序排列,取中间的元素作为基准。
2024-03-24 23:13:50
234
原创 常见的排序算法包括插入、希尔、选择、堆、快速、归并排序等
这里我们实现的具体思路是将left和right存入栈中,调用排序函数时我们先在堆中取到left和right的值,然后传到ParkSort函数中,当此次排序完成,返回了keyi,然后我们将left,keyi-1,right,keyi+1压入栈中,循环读取栈中区间的数据,即可模拟实现递归结构。如果有一个关键码的集合K = { , , ,…而将堆顶的数据挪到最后一个节点,此时我们就找到了最大的数,接下来我们只要控制让尾部的数据不参与这个堆,然后从最上面的根节点进行一次向下调整,那么就可以很快的找到次大的数据了。
2024-03-24 22:53:19
1492
原创 C语言关于括号匹配问题
1.在第一次遇见这个题目时我选择的是暴力解决,直接把要判断的字符全部存在数组中,然后for语句从数组中再读取字符然后一个一个判断。这样就会出现一些问题比如数组的大小不够用。下面是暴力解题的代码:首先因为输入中有空格我选择用循环加getchar输入。总的大的for循环是检索遍数,一次就是一遍然后第二个for循环中开始查找第一个‘(’;如果没有找到那说明这个括号一定不匹配就不会进入第三个循环中,count的值为一,直接打印:不匹配如果找到了第一个‘(’那么这个字符就被我换
2022-11-07 09:52:55
967
1
空空如也
C语言关于括号匹配问题
2022-10-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人