自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(151)
  • 资源 (2)
  • 收藏
  • 关注

原创 Iterm2终端颜色配置

1. 颜色预览2. 配置步骤2.1 下载颜色配置方案2.2 修改终端配置点击 Iterm2 -> Preferences -> ProfilesImport 引入第一步下载的配色方案

2018-10-13 14:34:06 4040

原创 [golang]time.After 在select中使用的正确姿势(解决超时逻辑未生效bug)

前言select 的语法如下所示每个case都必须是一个通信所有channel表达式都会被求值所有被发送的表达式都会被求值如果任意某个通信可以进行,它就执行;其他被忽略。如果有多个case都可以运行,Select会随机公平地选出一个执行。其他不会执行。 否则:如果有default子句,则执行该语句。如果没有default字句,select将阻塞,直到某个通信可以运行;Go不会重新对cha

2017-01-23 19:34:25 20807 8

原创 手把手带你升级编译机的git(yum安装)

前言 git源码安装需要许多依赖包,除了官网安装文档提到curl,perl,expat,可能自己在编译安装的时候还会缺少一些包或者库, 总之一个原则:缺什么安装什么。升级步骤如下1. 到git官网下载所需要的git版本 官网地址,请移步2. 切换到代码主目录,执行如下操作压缩包解压cd git-2.9.0 #进入git主目录,根据实际情况修改yum install curl-

2017-01-23 19:25:06 2103

原创 python好文章

Python教程1. 廖雪峰之Python教程 2. 菜鸟教程之Python基础Python之good article1. Python之subprocess模块 2. Python之logging模块 3. Python之signal 4. Python之TCPServer 5. SocketServer 网络服务框架 6. Python之getopt模块 7. Python之str

2017-01-23 19:18:12 2163 1

原创 shell好文章

工程师必备shell命令1. 强大的awk命令 2. 强大的sed命令 3. 强大的vim配置 4. su命令详解 5. 守护进程 6. 强大的grep命令 6. tcpdump命令详解 7. netstat命令详解 8. screen命令详解shell编程1. shell编程之for、while、util 2. shell编程之if -z -n -f -eq -ne -lt其他1

2017-01-23 19:16:34 616

原创 svn/git好文章

git学习史上最浅显易懂的git教程good articles1. git commit –amend 2. git 远程操作指令 3. git rebase 和 git merge的区别 4. git fetch 和 git pull 的区别 5. git stash 和 git stash pop 6. git 查看远程分支、本地分支、创建分支、把分支推到远程repository、

2017-01-23 19:14:27 614

原创 go好文章

GoLang基础学习GO指南 Go视频教程 Go的50度灰:Golang新开发者要注意的陷阱和常见错误golang在线测试go 在线编程Golang’s good articles01. 延迟语句defer 02. net包 03. go标准命令详解 04. go文件操作1 05. go文件操作2 06. os/exec包的用法 07. go语言之time包1 08. go语言之t

2017-01-23 19:10:26 792

原创 Python学习笔记之list

目录目录前言list的内置函数list内置函数的使用编程过程中用到的快捷键前言本篇文章主要讲述了Python数据结构中list内置函数的使用,以及编程过程中使用到的一些快捷键,希望对大家有所帮助,如有错误,请指正^_^list的内置函数 1. list的内置函数如下图所示:list内置函数的使用extend (只有一个参数,无返回值)(在列表末尾增加一个元素or列表) >>> l

2016-06-17 00:20:52 793

原创 智能指针的两种实现(引用计数)

在微信上看到一篇“C++引用计数及智能指针的简单实现”的好文章点击打开链接,通俗易懂,激起了敲代码的兴趣,于是用两种方式实现了简单的智能指针(辅助类+SmartPtr类 vs SmartPtr类)。关于什么是智能指针以及普通指针所存在的问题,查看该文即可(讲的很好)点击打开链接,本文仅列出两种实现方式的代码,希望对大家有所帮助,若存在问题,欢迎指针,谢谢!方式一:辅助类+Smart

2016-05-28 22:28:11 3395 1

原创 百度工程效率部-实习研发工程师一、二面

一面:(2016/5/16)--->电面//0:个人情况的了解(实习时间之类的)//1:项目1(C++的项目)//2:项目2(多线程)//3:对信号的理解(ctrl + z Ctrl + c Ctrl + / 分别代表什么)如何杀掉一个进程(kill - 9 PID) 9代表什么含义//4:grep、awk、sed等工具的用途//5:gcc的详细编译过程(预编译-->编译-->汇编-

2016-05-19 17:38:26 3628

原创 CVTE暑期实习hr面(C/C++软件研发,已收到offer)

经过两轮技术面试,周三迎来了CVTE的hr面(视频面试--面试时间:半小时),周五收到offer^_^,记录下hr问到的问题,希望对大家有所帮助。//1、说说你对公司的了解//2、都面试了哪些公司,哪些拿到offer,哪些未拿到(为什么被刷)//3、说下自己的优点、缺点(各自举一个实例)//4、小时候印象最深刻的一件事//5、说说自己的家庭情况//6、为啥会选择广州,北京不是更好吗(

2016-05-08 13:24:34 3940

原创 剑指offer之赋值操作符

题目描述:个人觉得,类中四少(构造函数、拷贝构造函数、赋值操作符、析构函数)都有一些注意点,于是都实现了下,注意点均有标注(注意下^_^)#include#includeusing namespace std;class CMyString{public: /* 赋值语句:(四部曲) 1:检查自赋值 2:释放原有空间 3:开辟新空间并赋值

2016-05-08 12:35:35 791

原创 数据库学习笔记(初级)

最近的几次面试中,都被问有关数据库的知识,不得不承认数据库是我的硬伤(谁让自己当初没好好学),所以最近在恶补数据库方面的知识(从三月中旬到现在,面过的公司挺多的,关于面试的情况,后期抽时间上传的,希望昨天CVTE的hr面顺利通过),好了,废话不多说,分享下关于数据库学习的笔记,希望对大家有所帮助。rpm -qi mysql-serverservice mysqld start(stop、r

2016-05-05 15:59:52 1437

原创 C++继承、虚函数处的面试题

昨天,收到 SenseTime公司面试官的电话面试(一天面了三家公司,收获挺多的),通话时间将近1个半小时,面试过程中暴露出很多知识上的漏洞,本篇文章针对面试过程中继承以及虚函数方面的知识做一总结,查缺补漏,希望多大家有帮助。单继承下的虚函数表//单继承下虚函数表:是如何组织的class A{public: virtual void func(){ cout << "A::fun

2016-04-28 19:48:51 8474 1

原创 算法题之查找第一个只出现一次的字符

#include#includeusing namespace std;/* * 思路: * 1、从头取一个字符,然后和“其他所有的字符”(不包括自身)进行比较 * 2、若不存在与其相同的字符---->其即为所求 * 否则:取下一个字符,重复上述步骤 */ //时间复杂度:O(N^2)--->使用指针char first_not_repeat_char(con

2016-04-26 22:21:20 1114

原创 STL栈之表达式求值

#ifndef _EXPCAL_H_#define _EXPCAL_H//视频讲解链接//http://study.163.com/course/courseLearn.htm?courseId=1367011#/learn/video?lessonId=1738301&courseId=1367011#include#includeusing namespace std;cla

2016-04-24 17:34:05 1420

原创 剖析虚函数的内部实现机制

关于虚函数内部实现的理论请参考点击打开链接(是我看过的总结的最好的文章 --虚函数方面)我是在该文章的基础上进行的验证:代码如下/************************************************************************* > File Name: Vtable.cpp > Author: zyh_helen > Mail: zy

2016-04-06 11:51:55 869

原创 github常见错误及其解决方法

最近使用Github,由于是新手,遇到诸多问题,整整用了3天才解决(查询了很多资料,)于是将使用github过程中可能遇到的问题和解决方案总结如下,方便大家查阅。关于github的使用,请参照点击打开链接一些可能遇到的问题解决:如果输入$ git remote add origin [email protected]:djqiang(github帐号名)/gitdemo(项目名).git

2016-03-24 19:40:43 2211

原创 【c++版数据结构】单链表复习之常见面试题型1

题目描述:1:从尾到头依次打印单链表2:在链表中删除指定的节点3:假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个节点),请将该节点从单链表中删除。4:假设有一个没有头指针的单链表,一个指针指向此单链表中一个节点,要求在此节点前插入一个节点5:编写一个函数,给定一个链表的头指针,要求只遍历一次,将单链表中的

2016-03-10 15:47:49 829

转载 Ctags 的安装与使用(使用命令详解)

这两天看到网上有将vim 改造成功能强大的IDE的blog,突然心血来潮,亲身经历了一下。网友的帖子都不错,我这里只是将各种插件分开罗列,然后加上一些使用技巧。希望本文对你有所帮助!『插件介绍』Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件

2016-03-08 16:24:38 4385

原创 Linux多线程编程之线程控制

函数预览pthread_t pthread_id;int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg); //线程创建   thread指向存放创建线程的id attr设置创建线程的属性 start_rout

2016-03-08 14:40:09 852

转载 如何将make编译之后的错误信息重定向到一个文件中

1. 标准输出的控制语法:命令 > 文件          将命令的执行结果送至指定的文件中。例如:ls -l > list 将执行“ls -l” 命令的结果写入文件list 中。语法:命令>& 文件        将命令执行时屏幕上所产生的任何信息写入指定的文件中。例如:gcc file1.c >& error 将编译 file1.c  文件时所产

2016-03-06 11:07:16 10014

转载 vmware安装无法打开内核设备 \\.\Global\vmx86: 系统找不到指定的文件

解决了由来已久的问题,所以分享下原因:是虚拟机服务没有开启解决方法:(以管理员的方式运行)点击“开始→运行”,在运行框中输入 CMD  回车打开命令提示符,然后依次执行以下命令。net start vmcinet start vmx86net start VMnetuserifsc config vmci=autosc config vmx86=

2015-12-26 09:55:45 19391 15

原创 【排序算法】之插入排序的实现

#includeusing namespace std;void InsertSort(int *arr, int size){ //第一个数视为有序的,所以从第二个数开始插入 for (int i = 1; i < size; ++i) { int tmp = arr[i];//使用临时变量保存要插入的元素 int j; //如果前面的数比要插入的数值大,就往后移动

2015-12-10 16:28:38 503

原创 【排序算法】之堆排序的实现

#includeusing namespace std;/* 1:找到第一个非叶子节点的位置cur:数组元素个数size/2-1 2:从cur开始,依次将各子树调整为最大堆--->整体成为最大堆 3:堆顶元素与数组最后一个元素交换 4:数组元素减1,重复执行上述操作*/void AdjustUp(int *arr, int size){ int cur = size / 2

2015-12-10 16:21:02 540

原创 【c++版数据结构】之循环队列的实现

判断循环队列是“空”还是“满”,有以下两种处理方法:1》设置状态标志位以区别空还是满2》少用一个元素,约定“队头front在队尾rear的下一个位置(指的是环的下一个位置)”作为“满”的标志注意以下几点,循环队列迎刃而解:1》求元素的个数:(rear - front + MAXSIZE) % MAXSIZE2》front/rear指向逻辑的下一个空间  front =(

2015-11-12 17:01:59 3882

原创 【c++版数据结构】链队列的实现

和线性表的单链表一样,为了操作方便,实现代码中链队列拥有一个头结点该链队列:包含头指针和尾指针代码如下:#pragma once#include#include#includeusing namespace std;templateclass Queue;templateclass QNode{ friend Queue;private: T _data;

2015-11-12 15:01:17 1080

转载 【c++】c++中如何打印字符串的地址

在C++中,如果cout一个字符数组的话,那么它会沿着这个地址,一直输出这个字符串,直到遇到'\0',例如: char*c="cadn\0hello"; cout输出的结果是:cadn如果我们自作聪明的想输出第一个字符的地址,例如这样输出: cout不幸的是,这样输出的结果依旧不是我们需要的地址。但是,如果我们回归到C语言的话,例如用printf的话,如下: pri

2015-10-30 16:00:43 9833 1

转载 linux下杀死进程的几种方法

转载一篇,最原始的出处已不可考,望见谅!常规篇: 首先,用ps查看进程,方法如下:$ ps -ef……smx       1822     1  0 11:38 ?        00:00:49 gnome-terminalsmx       1823  1822  0 11:38 ?        00:00:00 gnome-pty-helpersmx    

2015-10-24 18:59:27 766

原创 【Linux】vim中高频使用指令总结--->使vim用起来更加得心应手

删除与撤销1)dd:删除一行2)u :撤销 3)ggdG:全部删除  (gg:光标移到第一行,dG删除当前行到最后一行的所有数据)[Ctrl]+r:重做上一个动作这个 u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键,你的编辑,嘿嘿!会很快乐的啦!移动光标4)PgDn:向下移动一页5)PgUp:向上移

2015-10-11 15:47:20 1387

原创 【Linux】Centos下安装g++

gcc在Centos下的安装:使用的是以下语句:yum install gcc以为安装g++,类似的应该使用:yum install g++可是提示:command is not found查询有关资料发现,安装g++使用的是:yum install gcc-c++(注意不是g++)gcc: yum install gccg++: yum install gcc-c++此外

2015-10-11 11:26:20 1173

原创 【java】图文安装java编程平台eclipse

学习编程需要建立两个习惯:1)下载软件就去到该软件的官网上去下载(你下载的永远都是最新的最正宗的,绝不会被别人夹杂其他的东西)2)使用英文的网站,阅读英文的文献(克服心理障碍,网站上的英文大都是高中学过的单词)由于eclipse是用java写的,所以eclipse需要java环境的支持(eclipse是用来写java程序的,而eclipse又需要java环境的支持-->是不是很有意思)

2015-10-01 09:22:36 712

原创 【c和指针学习笔记】深入理解字符串常量

思考下列表达式代表什么意思???1:“zyh_helen”+ 12: *“zyh_helen”3:“zyh_helen”[2]。如果你觉得上述表达式不了解,甚至认为他们看上去像垃圾的话,你有必要阅读本篇文章首先对“字符串常量”这个话题进行深入的讨论:当一个字符串常量出现在表达式中时,他的值是一个指针常量。编译器把这些指定字符的一份拷贝存储在内存中的某个位置,并存

2015-09-29 13:30:50 1032

原创 【c和指针学习笔记】函数指针的初始化以及函数调用的三种方式

看如下代码,然后思考如下几个问题:#include#includeusing namespace std;int func(){ cout << "my name is zyh_helen" << endl; return 0;}int main(){ int(*p)() = func; //函数指针初始化方式1 int(*p1)() = &func; //函数指

2015-09-28 21:29:20 5063

转载 【c++】大牛解析虚函数表

C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel  前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R

2015-09-05 16:43:30 521

原创 【c++版数据结构】之用c语言实现静态链表

静态链表要解决的问题是:如何静态模拟动态链表关于存储空间申请和释放,动态链表可以借助malloc和free两个函数实现。在静态链表中,由于操作的是数组,不存在像动态链表的节点申请和释放问题,因此我们得自己完成两个函数来模拟这两个动作。解决办法:将静态链表划分为“有效链表,备用链表”,通过两者模拟节点的申请和释放静态链表:1)有效链表(已经使用的数组元素按游标cur链接而成)

2015-08-27 14:58:59 2334

原创 【c++版数据结构】之用带头节点的单链表实现一元多项式(C语言版)

所实现的一元多项式的结构如下图所示:若只对多项式进行“求值”等不改变多项式系数和指数的运算,采用类似顺序表的顺序存储结构即可,否则应采用链式存储结构,本文因为要进行一元多项式的加法,加法,乘法,

2015-08-26 20:32:08 6291

原创 【c++版数据结构】之循环双链表的实现(带头结点以及尾节点)

所实现的循环双链表的结构如下图所示:循环双链表的实现,和第一篇文章单链表的实现思想大致相同点击打开链接,具体思想参考该文章。本篇文章在构建节点的同时,初始化构建节点的前驱和后继,具体细节参考下列代码头文件:DCList.h#ifndef DCLIST_H#define DCLIST_H#include#include#includeusing namespace std

2015-08-22 15:45:56 1839

原创 【c++版数据结构】之双链表的实现(带头结点以及尾节点)

所实现的双链表的结构如下图所示:双链表的实现,和第一篇文章单链表的实现大致相同点击打开链接本篇文章在构建节点的同时,初始化构建节点的前驱和后继,具体细节参考下列代码头文件:DList.h#ifndef DLIST_H_#define DLIST_H_typedef enum{FALSE,TRUE}Status;#include#includeusing na

2015-08-21 20:20:03 2375

原创 【c++版数据结构】之循环单链表的实现(带头结点以及尾节点)

所实现的单链表的结构如下图所示:循环单链表的实现,和上一篇文章单链表的实现大致相同点击打开链接,略有区别:1:循环判断的条件不再是s == NULL或者s->next == NULL,而是他们是否等于头指针。2: 断开链表时的处理,尾节点的next不是NULL,而是指向头结点具体细节参考上一篇文章头文件:SCList.h#ifndef SCLIST_H#define

2015-08-21 20:08:16 2317

item终端颜色配置

Linux下终端颜色配置

2018-10-13

c语言深度解剖

深入理解c语言,每一位c程序员案头必备书籍

2015-07-30

空空如也

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

TA关注的人

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