自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (4)
  • 收藏
  • 关注

原创 线性代数:求A^n

2020-11-28 09:55:07 3503

原创 clang -Xclang -ast-print -fsyntax-only main.cc > main-init.cc

分析C++泛型编程的利器,生成实例化后的代码

2020-11-25 07:12:36 562

原创 C++11-关键字集合

2020-11-22 22:54:05 279

原创 C++STL-vector实现 空间配置器

一、没有空间配置器的vector#include <iostream>#include <cstring>using namespace std;template <typename T>class vector {private: T *_first; T *_last; T *_end;public: vector(int size=10) { _first = new T[size]; _end = _first+s

2020-11-22 09:18:56 359 2

原创 C++11-forward&move&引用折叠

xx

2020-11-22 07:22:31 323

原创 带右值引用的拷贝构造函数和运算符重载函数

考虑一个占用堆资源类对象的拷贝构造和赋值运算符重载函数,当我们用一个临时对象去拷贝构造一个新对象或者赋值给一个已经存在的对象时,会出现一下的问题:如string类#include <iostream>#include <cstring>using namespace std;class MyString {private: char *mptr;public: MyString(const char *src = nullptr) { cout <<

2020-11-22 01:54:50 729 1

原创 面试22.栈的压入、弹出

题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。样例1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2), push(3), push

2020-11-21 23:26:26 205

原创 C++对象的优化--减少不必要的函数调用

测试环境:win10+vs2013初始代码:#include <iostream>using namespace std;class Test {private: int ma;public: Test(int data = 10) :ma(data) { cout << "Test(int)" << endl; } Test(const Test& t) :ma(t.ma) { cout << "Test(const

2020-11-21 22:58:25 554

原创 C++-对象的生存周期

#include <iostream>using namespace std;class A {private: int ma;public: A(int a=20):ma(a) {cout << "A(int)" << endl;} ~A() {cout << "~A()" << endl;} A(const A& t):ma(t.ma) {cout << "A(const A&)" <<

2020-11-21 18:36:48 177

原创 单链表逆置(递归和迭代)

迭代class Solution { public ListNode reverseList(ListNode head) { if (head == null) return head; ListNode a=head, b=head.next; head.next = null; while (b != null) { ListNode c = b.next; b.next = a; a = b; b = c;

2020-11-16 01:31:40 325

原创 递归逆序和正数输出正整数

正序输出#include <bits/stdc++.h>using namespace std;void print(int x) { if (x == 0) return; print(x/10); cout << x%10 << " ";}逆序输出#include <bits/stdc++.h>using namespace std;void reversePrint(int x) { if (x == 0) { retu

2020-11-15 16:24:14 594

原创 BF算法-串匹配算法

串的模式匹配:暴力算法,时间复杂度为O(n)。#include <bits/stdc++.h>using namespace std;// 返回第一次匹配到的位置int bf(char *s, char *t) { int i=0,j=0,k=0; while (i < strlen(s) && j < strlen(t)) { if (s[i] == t[j]) { i ++, j++; } else { j = 0; // 模式串

2020-11-11 10:51:08 160

原创 层序遍历求树的深度

#include <bits/stdc++.h>using namespace std;struct TreeNode { int val; TreeNode *left, *right;};void dfsGetDepth(TreeNode *root, int &x) { if (!root) return; queue<TreeNode*> q; q.push(root); while (!q.empty()) { int

2020-11-09 21:20:30 550 1

八大排序C++代码实现

冒泡排序 选择排序 插入排序 基数排序 希尔排序 归并排序 堆排序 快速排序的C++的代码实现,可以作为模板使用,是互联网企业面试的必备技能

2020-11-14

常用的数据结构树算法代码总结

本文档总结了常用的数据结构中的树算法代码.包含常见的遍历算法(递归与非递归等),dfs,bfs的实现以及其广泛的应用

2020-01-01

LinkedListProblems.pdf

斯坦福大学整理的18个链表的相关问题,包括各类型的链表的问题。对于面试算法有很大的帮助,唯一的不足是pdf文档为全英文,需要一定的英语阅读能力。

2019-10-29

Effective C++中文第三版高清

C++经典必读书籍之一,整本书的知识点全面细致,每一个mudule都有理有据,常常会触发自己思考一些没有想过的问题。C++的功能多,实现复杂,只是学习语法只会纸上谈兵,而《Effective C++》去理解C++程序的设计原理、应用方法、陷阱可以.加深了对计算机,编程的理解和认识。

2018-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除