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