- 博客(29)
- 收藏
- 关注
原创 2021-01-31
常见易错算法题1 快排void QuickSort(vector<int>& nums, int start, int end){ //记录基准的的值 int index = nums[start]; int i = start; int j = end; while(i < j){ while(i < j && nums[j] >= index){ j--;
2021-01-31 21:01:11 142
原创 C++ 并行编程之原子操作的内存顺序
C++ 并行编程之原子操作的内存顺序1. C++原子操作的内存顺序概述memory order主要有以下几种:memory_order_relaxed只提供对单个atomic变量的原子读/写,不和前后语句有任何memory order的约束关系。memory_order_consume程序可以说明哪些变量有依赖关系,从而只需要同步这些变量的内存。类似于memory_ord...
2018-12-10 23:44:05 2345
原创 日积月累
1. C++ typedef typename用法https://blog.csdn.net/zhangxiao93/article/details/50569924简单说:typedef typename std::vector&amp;amp;amp;amp;lt;T&amp;amp;amp;amp;gt;::size_type size_type;表示: typedef创建了存在类型的别名,而typename告诉编译器std::vector::s...
2018-11-13 21:05:28 402
原创 Android AudioFocus机制小结
abandonAudioFocus的flow/frameworks/base/services/core/java/com/android/server/audio/MediaFocusControl.javaMediaFocusControl.java --&gt; 这个类才是真正完成requestaudiofocus和abandonaudiofocus操作的abandonAudioFo...
2018-11-06 23:00:10 1347
原创 c++11 std condition_variable_any和recursive_mutex配合使用例子
#include <iostream>#include <thread>#include <mutex>#include <condition_variable>#include <unistd.h>using namespace std;//std::mutex mtx;std::recursive_mutex rmtx...
2018-09-15 01:41:53 968
原创 《深度探索C++对象模型》读书笔记
《深度探索C++对象模型》读书笔记第一章 关于对象要点: 1. 对象模型 对象模型主要是讲了数据成员和函数在对象中的分布。 + 对于类来说,主要的数据成员分为 static 和 non static, 成员函数分为 static、non static 、virtual。 + 主要介绍了三类对象模型: - 简单对象模型 - 表格驱动对象模型 - c++对象...
2018-08-11 00:23:29 723
转载 C++ STL系列之:map
这篇写的不错 https://blog.csdn.net/shuzfan/article/details/53115922
2018-07-20 20:48:07 168
原创 C++ STL系列之:set
一、set介绍set 集合,与map不同的就是它的key和value相同。二、常用的函数1 基本上都有的iteratorset::beginset::endset::rbegin //逆序的set::rendset::cbegin //返回 const_iteratorset::cendset::crbegin //const_reverse_iteratorset:...
2018-07-20 20:38:14 227
原创 c++构造函数成员变量的初始化
前言写代码的时候才发现自己有多么菜,昨天应为构造函数变量初始化理解错误导致了未初始化的错误。前因后果看看我怎么定义的,typedef struct rb_node{ int key; int bhight; int color; struct rb_node* left; struct rb_nod...
2018-07-12 09:31:30 5286
原创 红黑树创建和删除的原理与实现
定义节点 只有红 和 黑两种颜色根节点是黑色的红色节点的子节点必须为黑色每天从根节点到叶节点的路径上的黑色节点数都相等。创建红黑树#include&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;amp;amp;amp;am
2018-07-08 22:16:06 617
原创 AVL平衡二叉树(c++实现)
#include &lt;iostream&gt;#include &lt;algorithm&gt;#include &lt;stack&gt;#include &lt;vector&gt;using namespace std;typedef struct _NODE{ int m_val; int m_hight; struct _NOD
2018-07-04 21:18:31 821
原创 C++ STL系列之:heap
实现通过vector和完全二叉树实现。 建立堆make_heap(),在堆中添加数据push_heap(),在堆中删除数据pop_heap()和堆排序sort_heap(): 头文件 #include &lt;algorithm&gt; 函数:make_heap(start,end,cmp)push_heap(start,end) //在vector中加好了(push_back...
2018-06-27 00:13:45 7786 1
原创 C++ STL系列之: queue
常用函数empty Test whether container is empty (public member function ) size Return size (public member function ) front Access next element (public member function ) back Access last element...
2018-06-25 20:26:02 474
原创 C++ STL系列之: stack
常用函数empty() Test whether container is empty (public member function ) size() Return size (public member function ) top() Access next element (public member function ) push() Insert e...
2018-06-25 19:58:32 203
原创 C++ STL 系列之:deque
内存1.删除元素时 当只有一个缓冲区的时候,删除中间的一个元素,会把此元素前面的或者后面的整体移动,把这个坑补上,前面还是后面是根据删除元素距离哪一头更近。 当有多个缓冲区的时候,还不知道怎么搞的,new了两个512的,都只有一个缓冲区,可能刚好是多个连着了? 2.总的原理: 保存了一个map,map中的各个节点指向真实的缓冲区,每个deque可能有多个缓冲区。 当最后一个缓冲区的最...
2018-06-24 21:15:00 335
原创 C++ STL系列之:list
常用函数list List; //定义一个空的链表 list List(count); //建一个含count个默认值是0的元素的链表 list List(count, info); //建一个含count个默认值是info的元素的链表(info自定义的链表的一个元素) list List(List2); //建一个的copy链表 list List(List2.beg...
2018-06-23 13:50:58 215
原创 C++ STL 系列之:vector
vector的实现与使用一、扩容1.当元素的数目超过了capacity的值,就会将capacity的大小扩充为原来的两倍大小。 比如:v1 = 1,2,3 现在size=capacity=3, 此时在末尾插入一个4,v1=1,2,3,4 此时的size=4,capacity=6。 2.但是有一点要是你直接一次插入了4个值(可以用insert实验),超过了2*capacity,那个cap...
2018-06-22 21:28:20 234
原创 略读《Linux内核设计与实现》
略读《Linux内核设计与实现》用了半个月的时间粗略的过了一遍《Linux内核设计与实现》。确实讲的都是理论的知识,比较通俗易懂吧!这里简单的记录一下,主要的内容,以供后面进一步的学习和回顾。第二章 从内核出发本章主要介绍了内核代码的获取,编译,开发注意的事项。2.1 内核源码树的结构arch:这个为目录存放的是与CPU架构相关的文件,每个子目录代表了一种CPU架构,...
2018-04-07 16:29:12 288
原创 container_of 详解
container_of 详解container_of宏是用在已知一个struct中的元素地址,计算出此元素所在结构体的首地址。一、定义#define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ ...
2018-03-25 00:19:04 569
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人