自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 机械臂匹配

机械臂匹配坐标系表示旋转矩阵求解坐标系之间进行转换坐标系表示父坐标系子坐标系如上面两个图所示,C表示坐标系,下标p表示父坐标系,下标c表示子坐标系,上标w表示世界坐标系(任意一个参考坐标系即可)。如上两个公式本质是用世界坐标系的x,y,z坐标表示形式,来表示父坐标系和子坐标系的三个坐标轴向量(单位向量)。旋转矩阵求解如上图所示,通过两个坐标系矩阵(可以看成是三个3维的单位向量组成,每个单位向量表示坐标系的一个轴的方向)来求旋转矩阵。这个公式可以看成是在求解两个坐标系之

2020-10-17 15:25:31 247

原创 堆的创建,插入,删除,排序

堆是一种完全二叉树,有最小堆和最大堆之分,最小堆是指根节点的值一定小于左子树和右子树所有元素的值,最大堆则相反(当你从小到大排序时, 可以选择最小堆反之,则选择最大堆) 1.如何建立一个最小堆呢:由于堆是一个完全二叉树,所以满足以下关系(我们将元素的顺序从0开始排,第i个节点称之为Ki, 那么元素就有K0, K1, K2.....),Ki的父节点一定是K(i-1)/2, Ki的左孩子节点一...

2018-11-15 19:35:26 229

原创 C语言实现根据二叉树先序遍历和中序遍历得到后序遍历结果

二叉树先序遍历结果为aferpkwhjl, 中序遍历结果为repfwkajhl,那么后序遍历结果是什么呢?先序遍历的顺序是:根 -左子树 -右子树中序遍历的顺序是:左子树 -根 -右子树后序遍历的顺序是:左子树 -右子树 -根由此可以得到一个结论:先序遍历的第一个元素一定是树的根,中序遍历根的左侧一定是左子树的遍历结果, 右侧一定是右子树遍历的结果那么这道题的解决思路是:1.根据先序遍...

2018-11-15 10:55:59 6522

原创 explicit关键字

当构造函数只有一个参数或有n个参数,但有n-1个参数有默认值时class A{ public: A(int a, int b = 10) x(a),y(b){} private: int x; int y;};A a(1);//定义一个对象aA a = 1;//虽然有点莫名其妙,但在编译器看来这合法的,编译器会用1来建立一个A类对象,等效于A a(1);或A b(1)...

2018-11-09 14:28:56 136

原创 class与typename区别

1.一般情况下,在声明一个模板类型参数是,class与typename一样2.当类型为嵌套依赖类型时,在类型名前加typename,如:typename std::iterator_traits(Iterator)::value_type t;这里std::iterator_traits(Iterator)::value_type是一个嵌套依赖类型,所以要在前面加typename(不加ty...

2018-11-08 20:28:22 2097

原创 C++自定义迭代器(STL)

一.iterator_traits #include template <class Iterator>struct iterator_traits{ typedef typename Iterator::difference_type differebce_type; typedef typename Iterator::value_type value_

2018-11-08 16:16:19 1616

原创 float的二进制表示方式

一.float 的二进制表示方式:

2018-11-07 20:33:15 9114

原创 c++中new/delete与new[]/delete[]

1.new,delete不是函数而是C++中的关键字2.new与malloc的区别:malloc只申请内存空间,而不进行初始化new可以进行初始化:string *a = new string("hello");3.operator new 与operator delete,operator new[]与operator delete[]:他们都是c++的库函数,使用new/delete与 ...

2018-11-07 20:32:26 172

原创 构造函数

1.初始化列表:(1).构造函数在初始化列表中进行初始化过程,在函数体中进行赋值过程。所以在进入构造函数体之前对象的所有成员变量(对于内置类型是否如此,我不太清楚)都已完成初始化过程(2).对于内置类型如int,float等,在初始化列表中进行初始化和在构造函数体中进行赋值差别不大(3).对于类类型,如果没有在初始化列表中进行初始化,则调用默认构造函数,如无默认构造函数,可能无法执行。(...

2018-11-07 20:32:07 103

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除