- 博客(20)
- 收藏
- 关注
转载 leetcode(23. Merge k Sorted Lists)
题目:Mergeksorted linked lists and return it as one sorted list. Analyze and describe its complexity.Example:Input:[ 1->4->5, 1->3->4, 2->6]Output: 1->1->2...
2019-05-19 19:53:00
116
转载 图的基础
邻接矩阵适合稠密图,邻接表适合稀疏图 1 // 稠密图 - 邻接矩阵 2 class DenseGraph { 3 4 private: 5 int n, m;//顶点和边 6 bool directed;//有向图还是...
2018-02-24 16:03:00
130
转载 二分查找法
二分搜索:在一个有序的数组中将数组一分为二,根据中点值与目标值的大小缩小查找区域,递归该过程。 1 // 二分查找法,在有序数组arr中,查找target 2 // 如果找到target,返回相应的索引index 3 // 如果没有找到target,返回-1 4 template<typename T> 5 int binarySearch(T a...
2018-02-24 15:03:00
143
转载 堆排序
堆是一种数据结构,最大堆性质:堆中的节点值总是不大于其父节点的值,堆是一颗完全二叉树。 1 template<typename Item> 2 class MaxHeap { 3 private: 4 Item *data; 5 int count; 6 int capacity; 7 void...
2018-02-18 21:21:00
96
转载 归并排序和快速排序
归并排序:将数组每次分成两部分分别排序,然后逐一合并 1 template<typename T> 2 void __merge(T arr[], int l, int mid, int r) { 3 int *aux = new int[r - l + 1];//开辟新的空间 4 for (int i = l; i <= r;...
2018-02-18 20:39:00
126
转载 基础排序总结
O(n^2)级别的算法主要包括:选择排序,插入排序,冒泡法排序,希尔排序等选择排序:选择排序,将后面未排序数组中最小的与前面的元素交换 1 template <typename T> 2 void selectionSort(T arr[], int n) { 3 for (int i = 0; i < n; i++) { 4 ...
2018-02-18 20:10:00
93
转载 关联容器
一个pair保存两个数据成员,一个用来生成特定类型的模板1 pair<string ,int > process(vector<string> &v){2 if(!v.empty()){3 return {v.back(),v.back().size()};//列表初始化4 5 }6 else{7 return pair&l...
2018-02-10 20:18:00
76
转载 文件的输入与输出
IO库类型和头文件1.iostream istream,ostream,iostream2.fstream ifstram,ofstream,fstream3.sstream istringstream,ostringstream,stringstreamIO对象无拷贝和复制fstream fstrm;//创建一个未绑定的文件流fstream fstrm(s);...
2018-02-09 09:22:00
114
转载 类的拷贝管理
拷贝控制:拷贝构造函数,拷贝赋值运算符,移动构造函数,移动赋值运算符,析构函数//拷贝构造函数//class Sales_data {public: Sales_data(const Sales_data &); Sales_data & operator = (const Sales_data &);private: ...
2018-02-07 12:59:00
85
转载 智能指针和动态内存
静态内存用来保存局部的static对象和类static数据成员,以及定义在任何函数之外的变量。除了静态内存和栈内存,每个程序还有一个内存池,这部分内存被称作自由空间或堆,用来存储动态分配的对象。动态内存的管理通过new和delete运算符实现。新的标准定义了两种智能指针类型来管理动态对象,shared_ptr允许多个指针指向同一个内存对象,unique_ptr则独占所指向...
2018-02-07 11:10:00
109
转载 boost signal2
boost------signals2的使用1(Boost程序库完全开发指南)读书笔记原创2013年08月01日 08:13:369410signals2基于Boost的另一个库signals,实现了线程安全的观察者模式。在signals2库中,观察者模式被称为信号/插槽(signals and slots),他是一种函数回调机制,一个信号关联了多个插槽...
2018-02-02 11:00:00
150
转载 boost 信号 :
boost 信号 :http://blog.youkuaiyun.com/pongba/article/details/1561006转载于:https://www.cnblogs.com/bingzzzZZZ/p/8401495.html
2018-02-01 22:13:00
201
转载 boost库 线程使用
最近在做一个消息中间件里面涉及到多线程编程,由于跨平台的原因我采用了boost线程库。在创建线程时遇到了几种线程创建方式现总结如下: 首先看看boost::thread的构造函数吧,boost::thread有两个构造函数:(1)thread():构造一个表示当前执行线程的线程对象;(2)explicit thread(const boost::function0<v...
2018-01-31 20:37:00
136
转载 C++命名空间
转载:https://www.cnblogs.com/zhoug2020/p/5972439.html一、 为什么需要命名空间(问题提出)命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突。在C语言中定义了3个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的...
2018-01-26 08:58:00
95
转载 linux学习shell
参考:http://cn.linux.vbird.org/linux_basic/0320bash_1.phpshell的变量功能:变量就是以一组文字或符号等,来取代一些配置或者是一串保留的数据!echo 这个命令来取用变量:echo $PATH,需要在变量名前加$。通过man命令可以查看命令的使用方法例如:man echo变量的配置守则变量与变量内容以一...
2018-01-20 17:42:00
71
转载 linux学习 vim
vim 可以开启两个文档 直接vim hosts /etc/hosts。:files命令查看文件信息,:n编辑下一个文件,:N编辑上一个文件多窗口使用命令::sp [filename],开启一个新的窗口显示文件,[ctrl]+w+ j 转到下个窗口,[ctrl]+w+ k转到上个窗口vim 的环境设定参数:set nu:set nonu就是设定与取...
2018-01-20 16:20:00
85
转载 linux学习
参考http://cn.linux.vbird.org/linux_basic/Mandrake9.0/0310vi.phpvi 是 Unix 预设的文字处理软件,当然,也是 Linux 预设的文字处理软件。基本上 vi 共分为三种模式,分别是『一般模式』、『编辑模式』与『指令列命令模式』三种!一般模式:以 vi 处理一个档案的时后,一进入该档案就是一般模式了。在这个...
2018-01-19 17:38:00
71
转载 lintcode学习
Given a list of numbers, return all possible permutations.给定一个整数数组,返回所有可能的排列,假定数组中的元素不重复思路一个元素一个元素的处理,将新的元素插入到先前元素可能排列的空隙中。例如对数组[1,2,3]来说,首先处理第一个元素1,可能的排列只有一个即[1],第二个元素2插入到[1]中有两种情况即[1,2],[2,1]...
2018-01-18 19:34:00
97
转载 Ubuntu 系统下安装gcc-arm-none-eabi编译STM32工程
在使用rikirobot机器人做ROS下的导航实验是,粗心大意将底层控制板烧坏,买了个新的电路板重新开始.在编译商家各处的STM32源代码时,Ubunt下总是出现了/arm-none-eabi-gcc/bin/ld:cannot find -lstdc++的错误,这是一个链接错误,使用arm-none-eabi-gcc编译器时总是连接不到libstdc++.首先尝试使用网上给出的...
2018-01-12 08:50:00
475
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人