- 博客(394)
- 资源 (13)
- 收藏
- 关注
原创 [链表] 奇偶链表
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。【时间复杂度】本质上循环体内,只对链表遍历了一次,即O(n)【空间复杂度】常数项,O(1)
2023-04-02 20:21:03 1227 1
原创 [链表] 反转链表
【空间复杂度】取决于递归调用的所需的栈空间,即调用的最大深度。同样的,需要完整遍历一次链表,即。定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。【时间复杂度】完整遍历了一次链表,
2023-04-02 10:41:21 734
原创 [链表] 合并两个排序的链表
【空间复杂度】递归需要消耗栈空间,栈空间的大小取决于递归深度。如果输入数据很不好,最多可能调用。将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的。预先设置一个起始节点,防止初始条件下判空的操作。【时间复杂度】两个链表都遍历了一遍,【时间复杂度】两个链表都遍历了一遍,【空间复杂度】常数级别,即。次,因此空间复杂度为。
2023-04-02 10:36:16 494
原创 [C++STL] 严格弱序(less函数、小于号重载)
简而言之,严格弱序其实就是:对于相同的元素,无论是comp(a, b),而是comp(b, a)都要返回false,如此,才能判断a==b!
2023-03-19 21:04:24 1748
原创 [OCCT] Open CASCADE Technology的编译(包含示例的编译)
Open CASCADE Technology的编译(包含示例的编译)
2022-03-27 20:45:50 4294
原创 [conan] cmake_find_package生成器
C++ conan的cmake_find_package生成器,帮助我们无缝从原先的cmake切换使用conan。
2022-03-26 10:35:38 5065
原创 [C++] 类型推导(C++11)
诚如C#语言中,可以通过var关键字来实现类型的推导,以此简化一些不需要关注变量类型的场景。而C++11也引入了类型推导。
2022-03-06 15:36:05 626
原创 [SWIG] 在VS中运行SWIG的官方示例
原文链接:https://www.yuque.com/cpptd/swig/ip3nfoSWIG系列笔记:https://www.yuque.com/cpptd/swig官方示例地址:https://github.com/swig/swig/tree/master/Examples文章目录在VS中运行csharp\class示例打开VS工程,并进行配置调用SWIG编译C++的包装文件C#使用后语在VS中运行csharp\class示例要求,本机已经安装了SWIG以.\swig\Examp.
2021-12-14 18:42:53 1193
原创 [SWIG] 源码编译与阅读
原文链接:https://www.yuque.com/cpptd/swig/gpxbohSWIG系列笔记:https://www.yuque.com/cpptd/swigWindows编译一、安装PCREPCRE库提供了正则表达式匹配功能,它使用与Perl 5一致的语法语义。它的API即包括native的API,又包含一套包装了POSIX regular API的API。PCRE是免费的,也可用于商业用途。下载地址:http://sourceforge.net/projects/pcre/.
2021-12-14 18:32:19 1000
原创 [SWIG] 多继承与接口(%interface、%interface_impl、%interface_custom)
原文链接:https://www.yuque.com/cpptd/swig/xvh0b6SWIG系列笔记:https://www.yuque.com/cpptd/swig引言SWIG报错:warning 833: Warning for ITask, base IParameter ignored. Multiple inheritance is not supported in C#.与C#类似,许多语言都没有多继承,但是它们有接口的概念,一个类可以实现多个接口。因此,我们可以将C++多继.
2021-12-14 18:29:04 1297 1
原创 [CMake] 判断当前环境支不支持C#
原文链接:https://www.yuque.com/cpptd/cmake/tifr91cmake系列笔记:https://www.yuque.com/cpptd/cmakeinclude(CheckLanguage)check_language( CSharp )if( CMAKE_CSharp_COMPILER ) enable_language( CSharp ) set(CMAKE_SUPPORTS_CSHARP TRUE)else() set(CMAKE_SUPPORT.
2021-12-14 18:26:24 473
原创 [CMake] 输出路径的问题(Visual Studio与非VS环境下,输出目录不同)
解决在Visual Studio生成器下(VS工程),与非VS下,输出目录不同的问题。
2021-12-14 18:22:19 2484 1
原创 [CMake] 示例 多模块与安装(01-basic_E-installing Windows环境下,无法打开*.lib)
该示例地址:https://github.com/ttroy50/cmake-examples.git学cmake看这个仓库就可以了【问题】在Windows环境下,编译01-basic_E-installing时,提示找不到lib文件【原因】在Windows中,需要为导出类或函数设置dllexport之后,才会生成lib文件。用官方给的例子。编译之后,你会发现,没有cmake_examples_inst.lib文件解决一、使用dllexport将外部需要使用到的类导出#ifndef .
2021-10-25 09:56:02 361 1
原创 [几何算法] 三维点云的排序
主题:对三维点云的排序排序规则:优先级,X轴 > Y轴 > Z轴结果代码#include<iostream>#include<algorithm>using namespace std;struct Point{ double x, y, z; Point() = default; Point(double a, double b, double c): x(a), y(b), z(c) {} friend ostream &.
2021-08-12 16:24:06 3091 1
翻译 [C++源码] 返回值封装-Status-fbxsdk
构建自己的状态类型是很有必要的,可以参照fbxsdk中的代码/**************************************************************************************** Copyright (C) 2016 Autodesk, Inc. All rights reserved. Use of this software is subject to the terms of the Autodesk licens
2021-07-05 09:29:10 372
原创 [C++指针] 二维指针的妙用——使用二维指针存元素
最近在看assimp的源码,发现assimp的aiScene存的是aiScene**,而不是aiScene*。思考了以下,发现这是一个不错的做法,分享出来。#include<iostream>using namespace std;//主题:新增元素//方案一:使用一维指针void test1(){ auto _print = [](int *p, int size) { for (int i = 0; i < size; ++i) { cout &l
2021-06-28 10:13:20 355
原创 [CGAL] 多边形网格处理CGAL::Polygon_mesh_processing
原文链接,不定时更新,此文档为第一版,之后不再同步。PolygonMesh【Polygon Mesh】多边形网格是一个方向一致、可定向的表面网格。它可以有一个或多个边界,这些面是简单的多边形。每条边连接两个顶点,由两个面(包括边界边的空面)共享。一个多边形网格可以有任意数量的连接部件,也可以有一些自交点。在这个包中,一个多边形网格被认为是一个二流形的拓扑。PolygonSoup【Polygon Soup】此类多边形方向不一致,面随意存储,只存有面信息的多边形网格,且连通性也未知的。我们称之为Po.
2021-04-25 17:50:31 12213 7
原创 [CGAL] 3D快速相交和距离计算(AABB_tree)- 三角形碰撞检测
官方文档:3D Fast Intersection and Distance Computation (AABB Tree)AABB Tree简介「AABB Tree」AABB树组件提供了静态数据结构和算法,以支持对有限的3D对象集执行相交和距离查询。可以查询存储在数据结构中的一组几何对象,以进行相交检测、相交计算和距离计算。如果在traits类中实现了相应的相交谓词和构造函数,则相交查询可以支持任何类型距离查询仅限于点查询「官方提供的例子」相交查询:针对三角形集的线对象(射线、线、线.
2020-08-06 16:18:04 8626 5
原创 [C++开发环境] Vcpkg使用手册、异常处理合集
原文链接,不定时更新「vcpkg」 微软 C++ 团队开发的在 Windows 上运行的 C/C++ 项目包管理工具,可以帮助您在 Windows 平台上获取 C 和 C++ 库vcpkg 自身也是使用 C++ 开发的 (而其他的 C++ 包管理大多并不是 C++ 开发的),并且 vcpkg 能够帮助用户在 Visual Studio 中,更好的使用这些安装好的库vcpkg 整合了 git,构建系统整合的 CMake,而绝大多数的 C++ 项目都可以直接或者间接的方式使用 CMake创建原生项目.
2020-08-06 10:24:16 3324
原创 [CGAL] CGAL的编译与使用
文章目录前言CGAL5.0.2+Windows+VS17方法一:用CGAL安装器安装安装Boost安装CGAL安装Qt编译示例报错处理在cmake配置时报错:未能找到Boost方法二:用Vcpkg库管理器安装安装CGAL库编译示例前言CGAL只是一个头文件库(从5.0版本开始),这意味着CGAL无需编译,只需安装好CGAL的依赖项即可。CGAL主要依赖项是boost。如果需要使用CGAL的可视化功能,则还需要Qt库。CGAL5.0.2+Windows+VS17方法一:用CGAL安装器安装此示例也安
2020-08-05 12:07:09 13264 4
原创 [3D算法] 调试方案(画3D图形) - 基于MaxScript在3ds Max画出图形(用C++拼出MaxScript的代码)
引言最近博主在从事3D算法的研发,遇到一个比较棘手的问题:查看3D算法的中间结果,比如我想要看两个空间三角形是否相交,但中间结果无非是一堆数字而已。编程确实能够解决问题,但3D绘制引擎,难免过于笨重。自己构造obj也是可以,但也过于麻烦。在调研3D建模软件时,同事告知3dmax有一个脚本语言Maxscript。查看其示例时,发现它的语法特别方便。于是,把这种调试方案分享给大家,如果有其他调试方式,请阁下不吝赐教。例子:用MaxScript在3dmax中绘制一条线ss=SplineShape ()
2020-07-02 21:26:06 1163
原创 [C++] 奇怪知识|C++坑合集
文章目录vector.size()-1导致死循环vector.size()-1导致死循环【错误代码】std::vector<int> v;for(int i = 0; i < v.size()-1; i++){ cout << i;}【输出】【示例代码】#include "iostream"#include "vector"using namespace std;int main(){ std::vector<int> v;
2020-05-15 17:15:09 482
原创 [C/C++] vector与数组(vector的首地址、字节大小、通过vector首地址拿数据)
【代码】#include<iostream>#include<vector>using namespace std;void printAll(int *arr, int n){ for(int i = 0; i < n; i++) { cout << arr[i]; cout << ((i+1) % 10 ? '\t'...
2020-04-30 22:14:46 5427 3
MOD04Toolbox.zip
2020-01-02
WebGIS选择要素并下载shp文件到本地
2018-06-17
创建一个6*6的格网,将商业圈道路数据随机分配到不同的志愿者进行管理
2017-12-19
MVC模型DEMO
2017-09-13
使用高德地图Web服务-路径规划,用ArcGIS JS显示数据在天地图底图上
2017-09-09
ArcGIS api for javascript使用高德地图POI服务
2017-08-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人