自定义博客皮肤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)
  • 收藏
  • 关注

原创 shell脚本编写

这里可以选择休眠一秒,让终端有执行程序的时间。另外,exec bash必须加。

2024-08-13 17:33:13 94

原创 ubuntu20.04 ros2与ros1通信和分布式通信

左下角add一个image话题类型,然后手动输入话题名称如miivii_gmsl/image0。这是相机在ros2的发布驱动节点,消息类型是image。这是正常现象不用理会,直接执行第二行代码即可。这里执行完第一行source以后会出现提示。然后我们需要知道两台设备的ip地址以及名称。第一个终端在ros1中启动roscore。首先将通信的两台设备连到同一个网络中。的文件 /etc/hosts。第三个终端需要启动发布节点。第四个终端需要启动监听节点。在ros2中执行以下指令。修改完后source一下。

2024-08-13 16:47:55 338

原创 C++ 正则表达式匹配字符

这里sregex_iterator( ) 函数默认返回的是正则匹配符合条件的。因此我们在创建头部迭代器begin的时候要给参数,三个参数分别表示字。最后用一个for循环将匹配的字符追加到result字符串中。

2024-08-06 22:23:04 154

原创 数据结构(栈)的代码实现和测试

STL中实际上也由stack的容器,因此,重复造轮子是完全没有必要的。实现一下栈可以帮助我们更好的理解栈的应用和结构。栈的实现算是非常简单的。

2024-05-20 14:53:25 203 1

原创 数据结构(堆)的代码实现和测试——堆的原理及代码实现

由于堆是由数组实现的完全二叉树,因此我们每次插入新的元素只能将其按顺序放在数组的末尾,然后再进行上推操作将其放到合适的位置(因为此时新元素处于叶子节点,只能上推)由于完全二叉树的特性,前 n / 2 个节点全部为非叶子节点,所以我们只需对n/2 个节点全部进行下推操作完毕即可。所以,堆的存储用数组来实现,而其左右子树以及父亲节点的位置关系依靠数学计算来推导。如果上推成功,那么下推自然推不下去,如果上推不成功,也不影响后面下推的操作。因此,最大堆的根节点是整个堆中最大的,最小堆的根节点是整个堆中最小的。

2024-05-17 17:51:05 895

原创 数据结构(图)的代码实现和测试(3)——Dijkstra算法寻找单源最短路径问题

另外,其中的minVertex函数 遍历数组,找出距离最小的一个节点,从这个距离最小的节点开始找这个节点到其他路径的节点。这表示将0号顶点到自己的距离设为0,那么这可以表明这个算法是从0号节点开始查找单源最短路径问题的。根据注释,作者应该是想要将s作为单源寻找的起点,但是,代码中并未涉及到s。Dijkstra算法用于寻找图中的某个节点到其他节点的最短路径的大小。按照以下的图来测试,测试从顶点B到各个顶点的最短路径。B->A 最短路径 5。B->B 最短路径 0。下面是更改过后的代码。

2024-05-13 00:02:29 433

原创 数据结构(图)的代码实现和测试(2)——广度优先搜索BFS

另外需要注意的是,在这里我写了一个新的函数:setEdge_undirected();这个函数是为了弥补原来的setEdge函数只能一条一条添加有向边 导致效率低下的缺点。setEdge_undirected函数可以直接在两个顶点之间添加无向边。我们对图的遍历函数进行一些小小的改动,主要将最后测试的DFS改为BFS。在实现队列的代码之后,经过调整,开始着手实现广搜BFS。下面是setEdge_undirected函数的实现。代表从0 2 4 1 3 5的路径进行BFS遍历。之后来看BFS的实现。

2024-05-11 17:41:24 328 2

原创 数据结构(队列)的代码实现和测试(1)——顺序队列实现,以及关于虚函数的理解

每在队尾放进一个新元素后,rear向后移动一位,每从队首提取一个元素之后,front会向后移动一位。因此,不可避免的会遇到数组的长度不够用的问题。因为引入了将数组转化为循环结构,因此判断队列是否满不能直接用 rear == maxsize 来判断,因为有可能数组的前端位置还有空间。在上述代码中,父类的print方法是虚函数,子类的是实函数,我们执行父类的print,输出结果为。这里的解决方法是,将线性数组围成一个环,从而实现空间的重复利用。如果父子都为virtual,那么实际是哪类,就用哪类的方法。

2024-05-09 23:00:46 731

原创 数据结构(图)的代码实现及测试(1)——邻接矩阵实现和DFS

下面是数据结构图的基本实现的代码,参考Shaffer的书《数据结构与算法分析》按照课本p256的图进行测试,将ABCDEF节点分别作为0,1,2,3,4,5。这里BFS还未作实现,因为需要用到队列,会在代码实现队列后再做这里的内容。运行结果为:表示以0,2,3,5,1,4的路径进行深度优先搜索。并递归实现了基本遍历方式的一种——DFS 深度优选搜索遍历。下面的代码基本实现了图的基类和邻接矩阵实现。学习数据结构最重要的就是落实到代码。2.源文件 Graph.cpp。1.头文件 Graph.h。

2024-05-06 21:00:01 268 1

空空如也

空空如也

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

TA关注的人

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