- 博客(18)
- 资源 (3)
- 收藏
- 关注
原创 VS2017+PCL1.9+VKT8.1显示点云
1.配置PCL1.9参考https://blog.csdn.net/weixin_41991128/article/details/838647132.配置VTK8.11.解压vtk8.1,建两个文件夹build,install,名称和位置可以任意设置。为了方便这里在同一个位置2.以管理员方式打开cmake,source code选择解压后的vtk文件夹,build选择刚刚建好的BUILD文件夹。勾选advanced,点击configure,编译环境选择visual studio 15 2017,
2024-06-11 17:15:12 490 1
原创 运行日志Log文件c++实现
实现多线程插入,按时间顺序,自测无问题定义using namespace std;enum LEVEL{ information = 0, warrning, error};class Log{public: Log(); ~Log(); Log(const char* dir); void writeLog(const char* msg, LEVEL level = information);private: fstream file; char *fileN
2022-03-22 15:50:36 4061
原创 旅行商问题(贪心算法)
旅行商问题对机械加工领域的路径规划有着十分重要的作用。在路径规划要求不严格的情况下,用贪心算法非常容易实现旅行商问题,但是只能获得局部的最优解。算法实现如下:1.选取一个0点,从0点开始搜素最近点12.以1点为基础,继续搜索最近点3.重复步骤2,直到所有点都搜索完毕。注意:所有的点只能进行一次搜索,不能重复。实现代码如下:#include <iostream>#include <ctime>using namespace std;#define n 4i
2021-10-14 11:26:21 2916
原创 halcon19HDrawingObject绑定回调函数
halcon19的HDrawingObject回调事件与halcon12稍微有不同,主要区别在于回调函数的数据类型与12的不一样,以C++为例,在halcon19的文档描述中的callback函数原型(long, long, char*)。但是如果在c++中以这样的函数写,前两个参数的值获取不到,根据hdrawingobject.h中定义,handle的数据类型为Hlong,这与halcon12不同,因此尝试用(Hlong, Hlong, char*)的函数类型获取一下前两个参数的值。经过验证,完全正确
2021-10-07 21:34:50 3052
原创 快速排序递归实现
快速排序跟冒泡排序的原理一致,都是比较数列的值,大小交互,但是冒泡排序是对每一个元素进行比较,效率比较低。快速排序减少了比较的次数,增加了排序的效率。快速排序的原理比较简单,就是从数列中指定一个基准数,把数列中小于基准数的元素放在基准数的右边,大于基准数的元素放在基准数的左边,然后将数列从基准数一分为二继续进行上述操作,快速排序的实现:1.任意指定一个基准数,记为arr[start]。(一般是数列第一个数)2.分别在数列头尾定义头指针i,尾指针j。3.由于头指针是基准数,根据原理,基准数右侧的元素必须
2021-06-26 18:19:02 192
原创 归并排序的递归和迭代实现
归并排序的原理网上很多,基本思路是用二分法的思想将整个数列分到直至2位的最小子序列,当然当整个数列总数是奇数时会出现单独一个元素,此种情况在有些人给的代码中并不能达到效果,作为初学者,还是花了一点时间写了一下,测试几个数列后还是可以的,因此记录一下。递归实现二分法最容易想到的实现方式就是递归,递归就是自己调用自己,要求各子过程的实现具有相似的实现方法;递归是有去有回,因此只需要考虑如何将问题划分到更小的子过程,实现方式在划分后实施,就可以实现问题到更小的规模,然后计算过程从更小的子过程到整个过程。对于
2021-04-04 20:20:31 216
原创 插入排序和希尔排序C++实现
1.插入排序插入排序顾名思义是将待排数据插入已经排列好的数据中即有序数列中。实现原理是假设在一个总数为M的数列A中,前N-1个数据是有序数列,将第N个数插入前N-1个有序数列中。实现过程如下:遍历排列好的N-1个数据,假设 max = A[M] ,比较有序数列中最后一个元素即A中第N-1个元素即A[N - 1] > max,此时需要继续向前遍历比较A[N - 2] > max ?,假设一直到第j个元素,A[j] <= max,结束遍历,将max放入A[j],同时将j~N-1个元素依
2021-04-02 11:07:17 209
原创 从0开始在IDEA配置算法4环境
1.配置IDEA+JDK。1.1下载idea,安装。这没什么难度。1.2下载JDK。安装。这也没什么难度。记录安装路径。例如C:\Program Files\Java1.3配置环境变量。这是比较关键的。此电脑右键-高级系统设置-高级-环境变量。可以看到用户环境变量和系统环境变量。在配置环境变量最好都在系统环境变量下进行。1.3.1配置JDK路径在系统环境变量中点击新建,变量名就写JAVA_HOME。变量值填写上一步安装JDK的路径。(如下图所示)1.3.2配置CLASSPATH这是非常关键
2021-03-27 22:10:42 242
原创 算法4第一章习题
编写一个静态方法histogram(),接受一个整形数组a[]和一个整数M为参数并返回一个大小为M的数组,其中第i个元素的值为整数i在数组中出现的次数。如果a[]中的值均在0到M-1之间,返回数组中所有元素之和应该和a.length相等。public class BinarySearch { public static int[] histogram(int[] a, int M){ int[] b = new int[M]; for(int i = 0; i &l
2021-03-25 23:02:38 130
原创 VS+QT debug工程转release工程LNK2019解决办法
VS+QT开发过程中用debug工程,运行没有问题,改为release后编译报错,错误代码LNK2019,KLN2011。尝试过几次,终于找到解决办法。在属性->链接器->输入->附加依赖项中添加需要的QtXXX.lib。在属性->VC++目录->库目录中添加Qt lib库,问题得到解决。分析原因应该是在release工程下,不能自动链接动态库。...
2021-03-25 17:31:06 824
原创 MFC调用控制台简单方法
MFC窗口应用打印输出信息,很多方法都是加入代码,记录一种比较简单的方法。打开属性->生成事件->生成后事件加入editbin /SUBSYSTEM:CONSOLE (OUTDIR)(OUTDIR)(OUTDIR)(ProjectName).exe命令行即可。
2021-03-19 10:43:25 807
原创 mysql多表插入事务操作
mysql多表插入,可以一个一个语句插入,但是效率比较低。可以用事务操作,之前没用过。今天尝试写了一下,没有什么难度,单纯为记录。本次实现的是三个表插入,其中table1中id自增,table2,table3需要使用table1中的id。table1 结构 id, modeltable2结构id,pname,agetable3结构id,score1,score2mysql事务开始可以使用BEGIN,也可以使用START TRANSACTION。获取本次操作的id用LAST_INSERT_ID()
2021-03-17 18:19:04 2222
原创 1.1.15编写一个静态方法histogram(),接受一个整形数组a[]和一个整数M为参数,并返回一个大小为M的数组,其中第i个元素的值为整数i在参数数组中出现的次数。C++实现
实质是计算数组中的重复个数int* histogram(int a[], int M) { int * b = new int[M]; vector<int> c; for (int i = 0; i < M; i++) { int count = 0; for (int j = i; j < M; j++) { bool repeat = false; for (int k = 0; k < c.size(); k++) { if (c[k
2021-03-02 23:32:21 145
原创 VS2017+QT创建带UI动态库
VS+QT创建带UI动态库在团队使用QT中比较好用,踩了几个坑后总结了 VS2017+QT5.4.1创建带UI动态库 方法,已供学习交流。使用环境使用环境 ,VS2017 + QT5.4.1创建过程创建QtClassLibrary选择添加QtModules 选择加入需要的模块,例如GUI,Widgets。点击next到finish。添加包含目录在项目中加入UI类 创建带UI的动态库,关键在项目中加入UI类。右键单击项目->添加->Add Qt Clas
2021-02-26 19:08:13 1618 2
原创 QT子线程更新主线程
在qt中子线程控制ui线程控件刷新,通过查阅资料,用重构qthread方法比较简单,可靠。现在写一个例程以便交流。例程是通过子线程实现ui textEdit中数字刷新。实现如下:#include "ui_QtTest.h"#include <qthread.h>class QtTest : public QMainWindow{ Q_OBJECTpublic: QtTest(QWidget *parent = Q_NULLPTR); void stsRefresh(); in
2020-12-25 16:55:03 1037 1
原创 C++类中多线程实现
C++类中多线程实现:1.在学习C++多线程过程中,很多教程实现的是类外部函数调用,如何实现在本类中调用成员函数实现多线程,查阅相关资料使用bind函数绑定所调用函数,也可以将bind函数省略,本例中func1使用bind函数,func2将bind函数省略,关于bind函数的原型,可查阅相关资料,此处不再详述。如果有更好的办法也请多多指教。#include <iostream.h>#include <thread.h>#include <Windows.h>us
2020-12-10 00:00:18 756
原创 SQL更新一列为递增数字的处理方法
设计表table1中一列ID递增,但在插入数据过程中出现数据排列不规范,将ID更新为递增,方法如下:1、取消列ID的主键和递增标识2、把数据提取到临时表select identity(int,1,1) as tid, ID into #临时表名 from 原表名 order by IDselect * from #临时表名 order by ID3、更新目标表原表名的列ID...
2020-03-03 16:20:11 2334
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人