C++11

文章目录

  • 交替打印奇偶数
  • const_cast
  • 思维导图
    • c
    • 数据结构

交替打印奇偶数

#include 
void thread_print()
{
	std::mutex mtx;
	condition_variable c;
	int n = 100;
	bool flag = true;
	thread t1([&]() {
		int i = 0;
		while (i < n)
		{
			unique_lock<mutex> lock(mtx);
			c.wait(1ock, [&]()->bool{return flag; });
			cout << i << endl;
			flag = false;
			i += 2;//偶数
			c.notify_one();
		}
	});
	thread t2([&]() {
		int j = l; while (j < n)
		{
			unique_lock<mutex> lock(mtx);
			c.wait(lock,[&]()->bool{return !flag; });
			cout << j << endl;
			j += 2;//奇数
			flag = true;
			c.notify _one();
		}
	});
	t1.join(); t2.join();
}

const_cast

const int a = 2; 
const int* pa = &a;
int* p = const_cast<int*>(pa); 或者int* p = ( int* )pa;
*p = 3;
cout << a << endl;//打印的是修改* p之前放在缓存区的值
cout << *p << endl;//2 3
volatile const int a = 2;
volatile const int* pa = &a;
int*p = const_cast<int*>(pa);
*p = 3;
cout << a <<endl;
cout <<*p << endl ;// 3 3

扎实的知识,提高学习能力和思维,能适应以后工作节奏,能解决工作中的问题
按模块、思维导图,重点常考知识、牛客网/题库/专项练习去挑这个模块的选择题,做100+道。如果做题中有发现复习不到位知识点,那么再查漏补缺、每天做2道左右算法题、优先去把自己之前做错的、或者没有思路的题做─遍。经典智力题、面经:面试的风格、要不要写算法?爱考哪个部分的知识?难度大不大!

思维导图

c

C++11_第1张图片

数据结构

C++11_第2张图片

AVL规则:每颗树及子树左右高度差不超过1,不要介绍平衡因子。平衡因子只是一种实现方式,并不是必须的。
当不平衡的时候。通过旋转来控制,需要大概能讲清楚四种旋转。
如果具体问了插入过程,则讲插入过程中平衡因子的变化及旋转,但是不要去提双旋的平衡因子调节,可能给白己埋下大坑。
1、规则及插入旋转过程,跟AVL树类似4Usuqhp2、他宝AVL树的区别。AVL树是严格平衡,红黑树是近似平衡。整体而言虹黑树更优。近似平衡效率2*logN但是logN足够小。月以效率不比AVL树差,但是红黑树不那么严格,旋转就比较少。

你可能感兴趣的:(c++,c++,开发语言)