- 博客(15)
- 资源 (17)
- 收藏
- 关注
原创 C++ Template重载函数模板(2.4节)
和普通函数一样,函灵敏模板也可以被重载。就是说,相同的函数名称可以具有不同的函数定义:于是,当使用函数名称进行函函数调用的时候,C++编译器必须决定究竟要调用哪个候选 函数。//重载函数模板#include <iostream>#include <string>//求两个int值的最大值inline int const& max(int const &a, int const& b){ std::cout << "a=...
2020-05-30 12:15:18 1627
原创 C++ Template函数模板参数(2.3节)
在前面的示例中,我们使用的函数模板的实参都是一样的,但其实函数模板的参数也可以不一样,并且可以是多个,这样就可以定制化一些特殊用途的函数模板,例如://函数模板的参数#include <iostream>#include <string>template <typename T1, typename T2>inline T1 max2(T1 const& a, T2 const& b) //这是返回参数一定要用T1,不能是T1 co
2020-05-30 10:29:06 784
原创 C++ Template初识函数模板(2.1节,2.2节)
C++模板是泛型编程基础,泛型编程即以一种独立于任何特定类型的方式编写代码。为什么要使用模板,有哪些好处呢,首先来看下面一个示例 #include <iostream>using namespace std;int max(int a, int b){ return a > b ? a : b;}float max(float a, float b){ return a > b ? a : b;}double max(doubl...
2020-05-27 14:44:53 247
原创 qml Popup弹出控件使用
开发环境Qt5.13.1 window10//main.qmlimport QtQuick 2.13import QtQuick.Window 2.13import QtQuick.Controls 2.5Window { visible: true width: 640 height: 480 title: qsTr("Hello World")...
2020-05-10 16:27:47 4713
原创 qml设置透明度
qml设置透明度有两个方式,一种是Qt.rgba()方法是:将十六进制转成rgb,每个数值都除以255,另一种是opacity属性值设置,但是这两种是有区别的,Qt.rgba()设置只能当前的Rectangle有效,而opacity的设置会影响到子部件,下面看源码示例import QtQuick 2.13import QtQuick.Window 2.13Window { vi...
2020-05-10 16:08:52 6165 1
原创 算法排序之基数排序
基数排序(Radix Sort)基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的低优先级高的在前。1 算法描述取得数组中的最大数,并取得位数; arr为原始数组,从最低位开始取每个位组成radix数组; 对radix进行计数排序(利...
2020-05-05 17:37:59 268
原创 算法排序之桶排序
桶排序(Bucket Sort)桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。桶排序 (Bucket sort)的工作的原理:假设输入数据服从均匀分布,将数据分到有限数量的桶里,每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排)。1 算法描述设置一个定量的数组当作空桶; 遍历输入数据,并且把数据一个一个放到对应的...
2020-05-05 17:11:15 167
原创 算法排序之计数排序
计数排序(Counting Sort)计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。1 算法描述找出待排序的数组中最大和最小的元素; 统计数组中每个值为i的元素出现的次数,存入数组C的第i项; 对所有的计数累加(从C中的第一个元素开始,每一项和前一项相加);...
2020-05-05 16:18:41 234
原创 算法排序之堆排序
堆排序(Heap Sort)堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。1 算法描述将初始待排序关键字序列(R1,R2….Rn)构建成大顶堆,此堆为初始的无序区; 将堆顶元素R[1]与最后一个元素R[n]交换,此时得到新的无序区(R1,R2,……Rn-1...
2020-05-05 11:57:16 172
原创 算法排序之快速排序
快速排序(Quick Sort)快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。1 算法描述快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:从数列中挑出一个元素,称为 “基准”(pivot); 重新排序数列,所有元素比基...
2020-05-05 11:27:11 138
原创 算法排序之归并排序
归并排序(Merge Sort)和选择排序一样,归并排序的性能不受输入数据的影响,但表现比选择排序好的多,因为始终都是O(n log n)的时间复杂度。代价是需要额外的内存空间。归并排序 是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。归并排序是一种稳定的排序方法。将已有序的子序列合并,得到完全有序的序列;即先使每个子...
2020-05-05 10:25:46 178
原创 pyqt5之俄罗斯方块
这一节我们创建一个俄罗斯方块俄罗斯方块俄罗斯方块游戏是有史以来最受欢迎的电脑游戏。最初的游戏是由俄罗斯设计和编程的程序员阿列克谢帕基特诺夫于1985年。此后,俄罗斯方块是几乎所有的计算机平台上可用在很多变化。俄罗斯方块称为积木拼图游戏。在这个游戏中,我们有七种不同形状叫tetrominoes:“s”形,Z-shape,t形,一个l型的空间,一个线,MirroredL-shape和正方形。...
2020-05-03 17:25:18 309
原创 pyqt5之自定义控件
自定义控件PyQt5有丰富的组件,但是肯定满足不了所有开发者的所有需求,PyQt5只提供了基本的组件,像按钮,文本,滑块等。如果你还需要其他的模块,应该尝试自己去自定义一些。自定义组件使用绘画工具创建,有两个基本方式:根据已有的创建或改进;通过自己绘图创建。Burning widget这个组件我们会在Nero,K3B,或者其他CD/DVD烧录软件中见到。import sys...
2020-05-03 17:18:51 1282
原创 pyqt5之绘画
绘图PyQt5绘图系统能渲染矢量图像、位图图像和轮廓字体文本。一般会使用在修改或者提高现有组件的功能,或者创建自己的组件。使用PyQt5的绘图API进行操作。绘图由paintEvent()方法完成,绘图的代码要放在QPainter对象的begin()和end()方法之间。是低级接口。文本涂鸦我们从画一些Unicode文本开始。import sysfrom PyQt5.QtW...
2020-05-03 17:14:51 564
原创 pyqt5之拖拽
拖拽在GUI里,拖放是指用户点击一个虚拟的对象,拖动,然后放置到另外一个对象上面的动作。一般情况下,需要调用很多动作和方法,创建很多变量。拖放能让用户很直观的操作很复杂的逻辑。一般情况下,我们可以拖放两种东西:数据和图形界面。把一个图像从一个应用拖放到另外一个应用上的实质是操作二进制数据。把一个表格从Firefox上拖放到另外一个位置 的实质是操作一个图形组。简单的拖放本例使用...
2020-05-01 18:21:54 1465
computer-vision计算机视图算法opencv相关
2024-03-03
QTreeView+自定义Model实现示例
2022-07-01
C++ Qt设计模式第2版(中英文版)+源码
2015-09-02
VC++ 6.0数据库系统开发实例导航源码
2011-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人