- 博客(21)
- 资源 (4)
- 收藏
- 关注
原创 插入排序
插入排序的基本思想是: 将数组的第一个数认为是有序数组,从后往前(从前往后)扫描该有序数组,把数组中其余n-1个数,根据数值的大小,插入到有序数组中,直至数组中的所有数有序排列为止。这样的话,n个元素需要进行n-1趟排序!!!插入排序的关键点:1、采用双层循环:时间复杂度时O(n的平方)(1)外层循环表示的是排序的趟数,n个数字需要n-1趟,因此,外层循环的次数是n-...
2020-04-15 22:44:32 211
原创 Qt各版本官方下载地址
1、所有Qt版本地址:http://download.qt.io/archive/qt/2、所有Qt Creator下载地址http://download.qt.io/archive/qtcreator/3、所有Qt VS开发插件下载地址:http://download.qt.io/archive/vsaddin/4. Qt相关下载大全http://d...
2020-04-07 10:55:44 2756
原创 Qt程序打包发布方法
1、Qt官方开发环境使用的动态链接库方式,在发布生成exe程序时,需要复制一大堆dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行,因此Qt官方开发环境里自带了一个工具:windeployqt.exewindeployqt工具在:%QTDIR%\Qt5.9.1\5.9.1\mingw53_32\bin 目录下,其中 QTDIR 是 Qt 的安装目录,是环境变量...
2020-04-07 10:46:11 181
原创 Qt自定义控件提升,头文件找不能的问题
问题: 自定义了一个控件(QWTICDTreeWidget),使用UI设计模式,将QWidget控件提升为自定义控件,提示找不到控件头文件。解决:1、点击错误,进入目标文件(Ui_QICDDockWidget),将头文件改成自己的工程下的目录就是改为工程目录下自定义控件的地址缺陷:每次修改ui文件,都要更改这个头文件引用。2、取消QWidget的提升,重新...
2020-02-28 13:22:49 6746 3
转载 i.MX6开发板学习——MySql-5.1移植及测试
1.源码下载下载MySQL最新5.1版本的源代码,这里下载的是mysql-5.1.73.tar.gz版本。http://www.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.1/2.交叉编译与移植网上有一份比较详细的mysql-5.1.51版本的MySQL数据库移植手册《Ubuntu下编译ARM平台QtEmbed...
2019-08-06 09:51:19 620
原创 实现遍历文件夹图片文件
1、qt类Qdir——QDir指定目录,以取得所指定目录或其中的项目信息(档案、目录等)可以设定名称过滤、属性过滤(像是只读、档案或是目录等等)与排序; 过滤与排序使用setNameFilter()、setFilter()与setSorting()方法来设定; 取得一个目录下的所有档案与子目录字符串名称使用entryList(); 或是使用entryInfoList()传回QFile...
2019-07-01 15:58:52 1155
转载 QT 项目文件介绍
项目(.pro)文件先介绍一下QT中关于项目的相关介绍(以下摘自http://www.qtopia.org.cn/doc/qiliang.net/qt/qmake-manual-5.html)app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。 lib - 建立一个库的makefile。 vcapp - 建立一个应用程序的Visual St...
2019-06-26 08:21:48 2024
原创 数据库--用正则表达式进行搜索
一、基本字符匹配 REGEXP后跟的东西作为正则表达式 例:SELECT prod_name FROM products WHERE prod_name REGEXP '1000' ORDER BY prod_name; 1、.是正则表达式语言中一个特殊的字符,它表示匹配任意一个字 2、进行OR匹配:为搜索两个串之一,使用| ...
2019-06-23 23:24:25 589
原创 Qt下C和C++混编问题
调用.c文件中的函数出现undefined reference to `xxxxx()` 这是C/C++兼容问题,在C的头文件的相关函数声明添加extern "C"即可解决。#ifdef __cplusplus extern "C" {#endifextern void add(int a, int b);#ifdef __cplusplus}#endif...
2019-03-14 17:19:16 2029
转载 QT 使用QLibrary加载动态库
原文:http://blog.csdn.net/tingsking18/archive/2010/01/04/5128307.aspx1)win下动态库调用有关的函数包括: (1)LoadLibrary,装载动态库。 (2)GetProcAddress,获取要引入的函数,将符号名或标识号转换为DLL内部地址。 (3)FreeLibrary,释放动态链接库。2)uni...
2019-03-13 17:29:50 14647
转载 VMware虚拟机的网络连接方式
1、VMware虚拟网络有两种:host-only和NAT,可有多个host-only,仅有一个NAT。 支持VMnet0~VMnet9共10块虚拟网卡 默认安装三块虚拟网卡:VMnet0、VMnet1和VMnet8 VMnet0:属性为物理网卡,bridge(桥接主机网卡),网络适配器窗口中不显示。 VMnet1:属性为虚拟网卡,host-...
2019-02-15 15:27:44 299
原创 五、工厂方法模式
1、工厂方法模式修正了简单工厂模式中不遵守开发-封闭原则。工厂方法模式把选择判断移到了客户端去实现,如果想添加新功能就不用修改原来的类,直接修改客户端即可。2、例子:#include <string>#include <iostream>using namespace std;//实例基类class LeiFeng{public: virtual ...
2018-09-12 23:41:15 97
原创 四、代理模式
1、代理模式定义: 为其他对象提供一种代理以控制对这个对象的访问,在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。2、模式结构: 一个是真正的你要访问的对象(目标类), 一个是代理对象,真正对象与代理对象实现同一个接口,先访问代理类再访问真正要访问的对象。3、介绍 (1)意图:为其他对象提供一种代理以...
2018-09-10 23:30:05 99
原创 三、装饰模式
1、装饰模式定义 装饰模式允许向一个现有的对象添加新的功能,同时又不改变其结构,这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。2、装饰模式就是把要添加的附加功能分别放到单独的类中,并让这个类包含它要装饰的对象。当需要执行时,客户端就可以有选择地、按顺序的使用装饰功能包装对象。...
2018-09-09 23:38:00 82
原创 二、策略模式
1、策略模式和简单工厂基本相同,但简单工厂模式只能解决对象创建问题,对于经常变动的算法应使用策略模式。2、例子 //基类 class COperation { public: int m_nFirst; int m_nSecond; virtual dou...
2018-09-06 22:28:07 86
原创 一、简单工厂模式
(1)主要用于创建对象。新添加类时,不会影响以前的的系统代码。 核心思想是用一个工厂来根据输入的条件产生不同的类,然后根据不同类的virtual函数得到不同的结果。 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类的实例。(2)模式结构 工厂(Factory):整个模式的核心,负责实现创建所有实例的内部...
2018-09-06 21:33:38 104
原创 五、C++ STL一些总结
以下内容来源书上网上 经过整合而成一、STL一般介绍 STL提供了一组表示容器、迭代器、函数对象和算法的模板。容器是一个与数组类似的单元,可以存储若干个值。STL容器是同质的,即存储的值的类型相同;算法是完成特定任务(如对数组进行排序或在链表中查找特定值)的处方;迭代器能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针;函数对象是类似于函数的对象,可以是类类对象或函数指
2017-08-30 09:26:41 205
原创 四、C++中的一些常用概念
对象和类一、面向对象的特征:1、 封装:封装意味着把对象的属性和方法结合成一个独立的系统单位,尽可能的隐藏。隐藏就会联想到三个关 键字:private、public、protected2、 抽象:抽象的过程是对具体问题进行概括的过程,是对一类公共问题进行统一描述的过程。3、 继承:子类对象拥有与其基类相同的全部属性和方法,称为继承。子类继承基类,会继承基
2017-08-30 09:13:57 379
转载 三、智能指针
auto_ptr类1、auto_ptr是一个模板类,用于管理动态内存分配的用法。 auto_ptr 是C++标准库提供的类模板,auto_ptr对象通过初始化指向由new创建的动态内存,它是这块内存的拥有者,一块内存不能同时被分给两个拥有者。当auto_ptr对象生命周期结束时,其析构函数会将auto_ptr对象拥有的动态内存自动释放。即使发生异常,通过异常的栈展开过程也能
2017-08-30 09:11:45 191
转载 二、C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
一、栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。堆可
2017-08-30 09:10:44 136
原创 一、C文件输入/输出
1、fopen(打开文件)#includeFILE * fopen(const char * path, const char * mode);path:字符串包含欲打开的文件路径及文件名mode:字符串代表着流形态r: 打开只读文件,该文件必须存在r+:打开可读写文件,该文件必须 存在w:打开只写文件,若文件存在则文件长度清为0,即文件文件内容会消失,若文件不存在则创
2017-08-30 09:09:00 1250
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人