摘要:
C++ 编译器优化之 RVO 与 NRVO RVO 即 “Return Value Optimization”,是一种编译器优化技术,通过该技术编译器可以减少函数返回时生成临时值值(对象)的个数,从某种程度上可以提高程序的运行效率,对需要分配大量内存的类对象其值复制过程十分友好。NRVO 全称为 “ 阅读全文
摘要:
一、删除链表的倒数第N个节点 题目:19. Remove Nth Node From End of List 分析:典型的利用双指针法解题。首先让指针first指向头节点,然后让其向后移动n步,接着让指针sec指向头结点,并和first一起向后移动。当first的next指针为NULL时,sec即指 阅读全文
摘要:
线程创建 1.1 通过普通函数创建线程 1. 示例 #include <iostream> #include <thread> using namespace std; void func(int a, double b) { cout << a << ' ' << b << endl; } voi 阅读全文
摘要:
二、寻找旋转排序数组中的最小值 题目:153. Find Minimum in Rotated Sorted Array C++ Soution 1: 阅读全文
摘要:
二、相同的树 题目:100. Same Tree C++ Soution 1: 三、爬楼梯 题目:70. Climbing Stairs 分析: C++ Soution 1: 四、反转字符串 题目:344. Reverse String C++ Soution 1: 阅读全文
摘要:
快速排序的思想是这样的,如果要对数组区间 [p, r] 的数据进行排序,我们先选择其中任意一个数据作为 pivot(分支点),一般为区间最后一个元素。然后遍历数组,将小于 pivot 的数据放到左边,将大于 pivot 的数据放到右边。接着,我们再递归对左右两边的数据进行排序,直到区间缩小为 1 , 阅读全文