- 博客(29)
- 收藏
- 关注
原创 Qt实现简易的浏览器
第一步:配置webenginewidgets模块和MSVC2017编译环境第二步:在你的Qt项目中配置kit。第三步:重写QWebEngineView类第四步:和使用其他控件的方法一样
2022-11-12 14:06:46
3819
原创 Qt响应多个按键同时按下
以WASD四按键为例,实现QLabel控件的丝滑移动。首先准备一个容器用于存放按下按键的key,定义一个定时器用于遍历容器。
2022-11-12 10:43:10
3840
6
原创 堆排序(Heap Sort)
1. 将待排序序列构造成一个大顶堆,此时,整个序列的最大值就是堆顶的根节点2. 将其与末尾元素进行交换,此时末尾元素就为最大值 ;3. 将剩余n-1个元素重新构造成一个堆(注:只有堆顶元素不满足堆序性,所以只需对堆顶元素进行下滤操作),这样操作之后堆顶元素就又是这n-1个元素的最大值。如此反复执行,便能得到一个有序序列了。
2022-11-02 00:07:26
295
原创 多线程实现多个文件同时拷贝
实现:我这里是实现的是和linux终端中的cp指令类似的功能,将多个文件同时拷贝到指定的目录中。也就是说利用main函数传参,在执行程序的命令后输入拷贝的文件和目标目录。可以看最后的运行效果图。
2022-09-01 21:11:32
1018
1
原创 数据结构:不带头结点的单链表相关操作
链式结构:1.查找效率低2.插入删除效率高3.内存不一定连续,空间利用率高。不带头结点单链表的增删改查及文件读写操作!
2022-08-20 17:04:36
1677
原创 计数排序(Count sort)
首先找出待排序数组最大值,以确定辅助数组(用来计数)下标的最大值,如上图序列中最大值为9,则辅助数组下标为0~9;接着遍历原序列,将原序列元素等于辅助数组下标的辅助数组元素的值+1(计数的过程)......
2022-08-16 21:38:16
350
原创 基数排序(Radix sort)
定义10个“桶”,编号0到9,先从个位开始,放进对应号的桶中,再从每个桶中按照队列先进先出,挨个取出;再按照十位,重复操作。也就是放一次取一次!放取次数由最大元素的位数决定。
2022-08-04 21:04:41
435
原创 杨辉三角(C语言的实现)
我这里呢是利用排列组合的性质第n行的第m个数可表示为C(n-1,m-1),即为从n-1个不同元素中取m-1个元素的组合数。
2022-07-28 19:46:51
23915
原创 归并排序(Merge sort)
1.将序列中待排序数字分为若干组,先以(left+right)/2为分界分成两组,再对左半边和右半边分别递归,直到每个数字分为一组(其是就是先对半分,直到分成都是一个,有点像二叉树);2.将若干个组两两合并,保证合并后的组是有序的(合并样子有点像倒过来的二叉树);3.重复第二步操作直到只剩下一组,排序完成。...............
2022-07-28 19:44:05
368
原创 快速排序(Quick sort)
1.选定中心轴(基准值);2.将右侧小于中心轴的数字放到中心轴的左边,将左侧大于中心轴的数字放到中心轴的右边(实现上可以用左右索引)直到左右索引相遇,将中心轴位置的值放到相遇的索引位置即实现了以中心轴为划分左右;3.分别对左右子序列重复前三步操作,直到子序列长度为1,递归跳出,排序完成。.........
2022-07-26 21:28:19
276
原创 希尔排序(Shell sort)
先以数组长度的一半的间隔分组,各组内用插入排序;间隔减半再分组进行组内排序,直到间隔为1,再进行一次插入排序即可。
2022-07-26 21:24:56
206
原创 插入排序(Insert sort)
将待排序的数组分成两个数组,左边是有序数组,右边时无序数组(一般左边第一个元素arr[0],自成一个有序数组,毕竟只有一个元素),然后将无序数组的第一个数据插入到有序的数组当中去。于是有序的数组越来越大,等到无序的数组中的所有的元素都插入到了有序的数组中的时候,排序就完成了。.........
2022-07-26 21:23:22
464
原创 选择排序(Select sort)
每次使用待排序数组第一个位置(不一定是arr[0],待排序数组长度会越来越短)的数据和之后的数据比较,找到更小的那个数据然后两者交换。这样的话,小的数据就慢慢挪到数组的前面去了,数组也就变得有序,每一轮排序只需要进行一次的交换。.........
2022-07-25 20:30:50
644
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人