- 博客(25)
- 资源 (12)
- 收藏
- 关注
原创 DFS
1、递归:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} *...
2020-04-29 09:36:54 388
原创 ROS-客户端Client的编程实现(八)
1、把之前的learning_topic移到桌面或其他地方2、创建功能包cd /catkin_ws/srccatkin_create_pkg learning_topic roscpp rospy std_msgs geometry_msgs turtlesim然后在你创建的learning_topic文件下的src文件下创建一个turtle_spawn.cpp文件touch t...
2020-04-28 15:57:39 285
原创 ROS-话题消息的定义与使用(七)
1、创建一个话题,里面包括学生的姓名性别年龄,并通过发布者发布,订阅者接收如何定义话题消息定义msg文件 在package.xml中添加功能包依赖 在CMakeList.txt添加编译选项 编译生成语言相关文件1.定义msg文件在learning_topic下创建msg文件夹在msg文件夹下创建Person.msg文件touch Person.msgPe...
2020-04-28 11:20:05 479
原创 ROS-基础知识(六)
1、http://wiki.ros.org/OS具有一个庞大的社区ROS WIKI(http://wiki.ros.org/ ),这个网站将会始终伴随着你ROS开发,无论是查阅功能包的参数、搜索问题还是。当前使用ROS开发的软件包已经达到数千万个,相关的机器人已经多达上千款。此外,ROS遵从BSD协议,对个人和商业应用及修改完全免费。这也促进了ROS的流行。2、ROS并不是一个真正的操...
2020-04-28 09:33:48 457
原创 ROS-订阅者Subscriber的编程实现(五)
1、在创建的learning_topic文件下的src文件下创建一个pose_subscriber.cpp文件/** * 该历程将订阅/turtle1/pose话题,消息类型turtlesim::Pose */#include <ros/ros.h>#include <turtlesim/Pose.h>// 接收到订阅消息后,会进入消息回调函数...
2020-04-27 20:38:23 1231
转载 ROS-发布者Publisher的编程实现(四)
实现在海龟仿真器下通过程序控制从而达到海龟的移动1.创建功能包cd /catkin_ws/srccatkin_create_pkg learning_topic roscpp rospy std_msgs geometry_msgs turtlesim2、然后在你创建的learning_topic文件下的src文件下创建一个velocity_publisher.cpp文件...
2020-04-27 19:40:35 392
转载 ROS-创建工作空间与功能包(三)
1、工作空间工作空间(workspace)是一个存放工程开发相关文件的文件夹 src:代码空间(Source Space) build: 编译空间(Build Space) devel:开发空间(Development Space) install:安装空间(Install Space)2、创建工作空间mkdir catkin_wscd catkin...
2020-04-27 19:19:13 241
原创 ROS-命令行工具使用(二)
1、roscorerosrun turtlesim turtlesim_noderosrun turtlesim turtle_teleop_keyrqt_graphroscore指令是在运行ROS操作系统首先运行的指令rosrun指令是运行ROS某个功能包的某个节点的指令,后面加的参数是功能包名和节点名/teleop_tutle:键盘控制节点/turtlesim...
2020-04-27 19:09:37 405
原创 ROS-安装学习(一)
1、sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'sudo apt-key adv --keyserver ...
2020-04-27 16:59:04 339
原创 BFS-广度优先搜索
1、2、class Solution {public: int numSquares(int n) {//BFS int top=floor(sqrt(n));//n开方以后的最小根 整数 2.3 2 queue<int> q;//设置队列 q.push(0);//放置初始元素0,树头0 int res=0;//结果数量 ...
2020-04-25 15:42:44 122
原创 lower_bound( )和upper_bound( )排序之二分法应用
lower_bound( )和upper_bound( )都是利用二分查找的方法在一个排好序的数组中进行查找的。在从小到大的排序数组中,lower_bound( begin,end,num):从数组的begin位置到end-1位置二分查找第一个大于或等于num的数字,找到返回该数字的地址,不存在则返回end。通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。upper_...
2020-04-23 22:17:16 371
原创 linux-sigaction 捕捉setitimer产生信号
1、#include <stdio.h>#include <signal.h>#include <unistd.h>#include <sys/time.h>void catch_sig(int num){ printf("catch %d sig\n",num);}int main(){struct sigaction ...
2020-04-23 15:08:55 238
原创 linux-进程线程-setitimer
1、SYNOPSIS #include <sys/time.h> int getitimer(int which, struct itimerval *curr_value); int setitimer(int which, const struct itimerval *new_value, ...
2020-04-23 14:25:02 261
原创 野指针和悬空指针
概念:野指针指向了一块随机内存空间,不受程序控制。如指针指向已经被删除的对象或者指向一块没有访问权限的内存空间,之后如果对其再解引用的话,就会出现问题。1、指针定义时未被初始化:指针在被定义的时候,如果程序不对其进行初始化的话,它会指向随机区域,因为任何指针变量(除了static修饰的指针变量)在被定义的时候是不会被置空的,它的默认值是随机的。2、指针被释放时没有被置空:我们在用mallo...
2020-04-23 13:59:50 177
原创 linux进程线程-alarm闹钟函数
1、alarm 返回值 距离上一次闹钟出发剩余秒数第一次设置返回0,第二次设置了返回距离上一个闹钟的剩余的秒数。[1] 引用头文件:#include <unistd.h>;[2] 函数标准式:unsigned int alarm(unsigned int seconds);[3] 功能与作用:alarm()函数的主要功能是设置信号传送闹钟,即用来设置信号SIGALRM在经...
2020-04-22 21:38:34 759
原创 priority_queue 优先队列
1、大顶堆 升序排列 从小到大排序 底层实现为最大堆priority_queue<int> big_heap;priority_queue<int,vector<int>,less<int> > big_heap2;2、小顶堆 降序排列、priority_queue<int,vector<int>,greater...
2020-04-21 21:31:33 157
原创 力扣 面试题25 合并两个排序的链表 递归(经典)
1、2、/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: L...
2020-04-21 20:08:29 154
原创 力扣 496 下一个更大元素 (STL find find_if)
class Solution {public: vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) { vector<int> ans; for(auto i:nums1) { ...
2020-04-18 14:37:32 155
原创 力扣 487 路径总和III 二叉树 双递归
1、2、/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * ...
2020-04-17 15:53:23 171
原创 434 字符串中的单词数
class Solution {public: int countSegments(string s) { stringstream ss(s); //用s初始化流ss string word; int count=0; while(ss>>word)//输入 可以输入就一直 whil...
2020-04-16 20:46:58 118
原创 力扣 409 最长回文串(map经典用法)
class Solution {public: int longestPalindrome(string s) { unordered_map<char,int> hash; for(auto x:s ) { hash[x]++; } int res=0; ...
2020-04-16 17:48:25 137
原创 力扣203 移除链表元素
1、2、学到了一种新方法(来自哨兵方法)把指针变量放在栈上,不用new 利用listnode* p进行操作class Solution {public: ListNode* removeElements(ListNode* head, int val) { auto dummy=ListNode(0),*p=&dummy; dum...
2020-04-08 17:19:39 110
原创 力扣面试题09.两个栈实现队列
1、感觉题目很奇怪用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )class CQueue {public: stack<int> a; stack<int> b; ...
2020-04-06 18:51:23 142
原创 力扣面试题05 for(auto c:s)
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。public: string replaceSpace(string s) { string res; for(auto c:s) { if(c==' ') { res+="%20"; ...
2020-04-06 10:46:23 200
原创 vector以及二维向量
vector<vector>a(5);表示5行for (i = 0; i < array.size(); i++) {//array.size()表示行array[i].resize(3);每一行设定大小为3列(resize如果本来就已经超过了3其他多的就置为0)}2、如何利用迭代器进行遍历vector<vector<int>> vec...
2020-04-05 19:42:46 388
web practice.zip
2020-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人