- 博客(55)
- 资源 (6)
- 收藏
- 关注

原创 用notepad++打造自己的开发环境
很早之前从别人那里知道了Notepad++,当时只知道他是一个不错的文本编辑和阅读器, 相比windows下的text好很多。尤其是在阅读代码的时候体会更明显,text不支持自动换行让人看起来好难受 .今天又一次打开notepad++,发现它的功能远远不止这些,是我小看它了,结合网上零零散散的资源,自己搭建了一个开发环境, 支持c/c++程序的编译运行,具体细细给你道来::步骤:: note
2016-06-03 23:55:27
2701

原创 浅谈红黑树的添加删除操作
红黑树的性质(牢记) 1、每个结点的颜色只能是红色或黑色。 2、根结点必须是黑色的。 3、每个叶子结点都带有两个空的黑色结点(被称为黑哨兵null),如果一个结点n的只有一个左孩子,那么n的右孩子是一个黑哨兵;如果结点n只有一个右孩子,那么n的左孩子是一个黑哨兵。 4、如果一个结点是红的,则它的两个儿子都是黑的。也就是说在一条路径上不能出现相邻的两个红色结点。 5、从任何一个结点到其子孙叶
2016-05-26 11:33:56
1662
转载 C++11新标准
http://yangtaixiao.blog.163.com/blog/static/42235441201448101853955/
2016-10-21 20:33:41
719
转载 STL中Sort()源码剖析
点击打开链接Introspective Sorting(内省式排序算法)。它是一种混合式的排序算法,集成了堆排序、插入排序、快速排序三种算法各自的优点:在数据量很大时采用正常的快速排序,此时效率为O(logN)。一旦分段后的数据量小于某个阈值,就改用插入排序,因为此时这个分段是基本有序的,这时效率可达O(N)。在递归过程中,如果递归层次过深,分割行为有恶
2016-10-21 20:25:44
455
原创 map/multimap/hashmap的区别
Map: STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据映射处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的.
2016-10-21 20:03:01
1905
原创 linux shell中单引号、双引号、反引号、反斜杠的区别
1. 单引号 ( '' ) # grep Susan phonebook Susan Goldberg 403-212-4921 Susan Topple 212-234-2343 如果我们想查找的是Susan Goldberg,不能直接使用grep Susan Goldberg phonebook命令,grep会把Goldberg和phonebook当作需要搜索的文件 # grep 'Su
2016-09-26 22:19:55
1017
转载 linux shell的here document用法
转载自: http://my.oschina.net/u/1032146/blog/146941什么是Here Document? Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter Here Document Content delimiter其作用是将两个 delimiter 之间的内容(Here D
2016-09-26 22:14:29
492
原创 Typedef & # define
1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:define PI 3.1415926程序中的:area=PI*r*r 会替换为3.1415926*r*r 如果你把#define语句中的数字9 写成字母g 预处理也照样带入。2)typedef是在编译时处理的。它在自己的作用域内给一
2016-09-09 14:25:55
303
转载 线程安全的概念,实现线程安全的几种方法
对于多线程编程,很多人概念不清,写代码的时候要么是处处加锁,影响性能不说,还容易莫名其妙的死锁,还有人对多线程敬而远之。C/C++: 1.局部变量局部使用是安全的 为什么?因为每个thread 都有自己的运行堆栈,而局部变量是生存在堆栈中,大家不干扰。 所以代码1 int local1; ++local1; 是安全的2.全局原生变量多线程读写是不安全的 全局变量是在堆(heap)中
2016-09-09 14:21:40
2657
原创 剑指Offer算法精炼(2)
//FileName :: Algorithm.cpp(剑指Offer)//Author :: Weiqp//Date :: 2016-6-14/*1. 输出链表倒数第K个节点 思想:使用两个指针p1,p2,起初同时指向链表头节点,先让p1向前走K-1步,然后两个指针同时向后移动, 当p1指向链表末尾,即p1->next为空时,p2此时正好指向倒数第K个节点*/#
2016-06-26 19:34:35
452
原创 Fedora下mysql的安装及详细配置
一、Fedora-Workstation-Live-x86_64-24-1.2(.iso镜像文件名称)系统环境下MySql环境的搭建。 1.本次安装方式为源码安装。所有操作均在root模式下进行。 下载地址::mysql源码下载地址,下拉列表中选择source code,找到.tar.gz文件开始下载。 2.源码的编译工作由cmake、make、gcc完成,在终端root用户模式下输入命令:c
2016-06-25 00:38:11
1629
原创 剑指Offer算法精炼
//File:: test.cpp//Author:: Weiqp//Date:: 2016-6-4# if 0# include <iostream>using namespace std;void main(){ int n[][3] = {10,20,30,40,50,60}; int (*p)[3]; p = n; // 10
2016-06-05 20:18:51
481
原创 剑指Offer之字符串空格替换问题
由于在剑指Offer书上或是别人写过的代码里,都没提及这道题的前提条件,导致我始终看不懂为何不用分配新内存,几经内存崩溃、访问越界,终于找出了原因,现在将完整代码展现给大家:: 原题目: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 前提:原数组后有充足的空间容纳多的字符,所以本次并没
2016-06-04 23:38:19
417
原创 笔试面试题16--微信红包
题目: 春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数 的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。 给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。 测试样例: [1,2,3,2,2],5 返回:2解答://思想:某个红包金额,超过红包总数的一半,,所以当我们把红包金额
2016-06-02 11:54:11
3148
原创 常见排序算法大全
声明:本节全称利用一维数组展开讨论,排列后结果均为由小到大 1、直接插入排序 思想:数据r[0]到r[i-1]是有序的,r[i]到r[n-1]是任意次序的。将r[i]插入到r[0]到r[i-1]中并使得r[0]到r[i]有序。i从1开始到结束进行n-1次。//直接插入排序//时间复杂度O(n^2),空间复杂度O(1),稳定void InsertSort(int *a,int n){
2016-05-28 13:53:00
345
原创 查找算法及二叉平衡树
查找的分类: 1.静态查找 2.动态查找 3.哈希查找1.1顺序查找法//应用范围:顺序表或线性链表表示的表,表内元素之间无序。// 在数组arr中查找等于k的元素,若找到,则函数返回该元素的位置,否则返回0//平均查找长度:ASL = 1/n∑(n-i+1) = ½(n+1)int SeqSearch(int arr*, int key){ int i ; for(i
2016-05-27 14:44:39
563
原创 笔试面试题15--作业调度算法
1.假设系统按单道方式运行且采用最短作业优先算法,有J1,J2,J3,J4共4个作业同时到达,则以下哪几种情况下的平均周转时间为10分钟? A.执行时间J1:1分钟 J2:5分钟 J3:9分钟 J4:13分钟 B.执行时间J1:1分钟 J2:4分钟 J3:7分钟 J4:10分钟 C.执行时间J1:2分钟 J2:4分钟 J3:6分钟 J4:8分钟 D.执行时间J1:3分钟 J2:6分钟 J3:
2016-05-25 11:23:34
1348
原创 笔试面试题14---.h/.exe/.lib/.dll文件
1、 下列有关windows系统的EXE和DLL文件说法错误的是? A.EXE和DLL文件都是PE文件 B.EXE不能有导出函数,DLL可以有导出函数 C.EXE有x86和x64之分,则DLL没有 D.EXE可以单独运行,DLL则不行答案解析:BC PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,
2016-05-25 11:08:37
710
原创 笔试面试13--给定 x, k ,求满足 x + y = x | y 的第 k 小的正整数 y
给定 x, k ,求满足 x + y = x | y 的第 k 小的正整数 y 。 | 是二进制的或(or)运算,例如 3 | 5 = 7。比如当 x=5,k=1时返回 2,因为5+1=6 不等于 5|1=5,而 5+2=7 等于 5 | 2 = 7。解法:程序
2016-05-19 17:39:25
2465
原创 Git学习
More in: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 MyGitHub: https://github.com/weiqp/hello Git Command Manual(Git命令学习手册)
2016-05-14 20:53:15
381
原创 简历精简
对于应届生来说经验不足,能力有限,想要让面试官肯定自己的能力,又想尽量把自己的实力全部展现出来,制作简历就要多花心思。怎样才能做出出色的简历,给大家分享一些链接,制作简历的时候多学习学习: 总之一句话,从面试官的角度修正你的简历 http://cv.qiaobutang.com/knowledge/articles/5159332c0cf2763fd0e6a5ce?from=db03200201
2016-05-14 18:25:17
688
转载 Linux网络编程:socket文件传输
/************************************************************************* >File: Transport File on Linux > File Name: Server.c > Author: WQP_Ya_Ping **************************************
2016-05-14 15:44:05
758
原创 笔试面试题12--字符串拷贝、链接、比较无库函数实现
面试案例1:字符串拷贝函数问题。(不调用库函数)char *strcpy(char *strDest, const char *strSrc){ assert((strDest != NULL) && (strSrc != NULL)); char *address = strDest; while((*strDest ++ = *strSrc ++) != '\0');
2016-05-14 15:37:52
481
原创 笔试面试题11--整数与字符串转化
面试例题1:怎样将整数转化成字符串数,并且不用函数itoa?# if 0//整数转化为字符串,不使用itoa()# include <stdio.h>int main(){ int num = 12345; int i = 0; char temp[7],str[7]; while(num) { temp[i] = num%10 + '0';
2016-05-14 15:24:00
361
原创 笔试面试题10--特殊指针
面试例题1:写出函数指针、函数返回指针、const指针、指向const的指针、指向const的const指针 指针。 函数指针: void (*f)() 函数返回指针: void * f() const指针: const int* 指向const的指针: int *const 指向const的const指针: const int *const
2016-05-14 14:57:35
430
原创 笔试面试题9--指针和引用的区别
面试例题1:指针和引用的差别? 答案: (1)非空区别。在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某 些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指 向任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量。相反,如果 变量肯定指向一个对象,例如你的设计不允许变量为空,这时你就可以把变量声明为引用。 不存在指向空值的引用这个事
2016-05-14 14:53:24
1393
原创 笔试面试题8--内联函数和宏的区别
面试例题:内联函数和宏的差别是什么?答案:内联函数和普通函数相比可以加快程序运行的速度,因为不需要中断调用,在编 译的时候内联函数可以直接被镶嵌到目标代码中。而宏只是一个简单的替换。 内联函数要做参数类型检查,这是内联函数跟宏相比的优势。 inline是指嵌入代码,就是在调用函数的地方不是跳转,而是把代码直接写到那里去。 对于短小的代码来说inline增加空间消耗换来的是效率提高,这方面和宏
2016-05-14 14:50:32
604
原创 C++编译时多态之运算符重载
C++编译时多态之运算符重载 面向对象多态包括:重载多态、强制多态、包含多态、参数多态 1.不可重载的运算符: 2.类属关系运算符“”.“” 3.成员指针运算符“”.*“” 4.作用域运算符“”::“” 5.三目运算符“”?:“” 点击上方链接可进行更多了解……
2016-05-14 14:24:42
414
原创 STL学习之路(2)
承接上一篇,我们继续来感受STL的奇妙://栈的实现# include <iostream># include <string># include <iterator># include <stack>using namespace std;int main(){ stack<char>s; string str; cin>>str; for(string:
2016-05-14 13:14:12
377
原创 STL学习之路
STL泛型程序设计,C++的一大特色,可编写不依赖具体数据类型的程序。知识点: 1. STL四大组件(容器、迭代器(泛化的指针)、算法、函数对象(泛化的函数)) 2. 基本容器:顺序容器(Vector、deque、list)关联容器(set、multiset、map、multimap) 3. 迭代器:输入迭代器(读)、输出迭代器(写)、前向迭代器(读和写)、双向迭代器
2016-05-13 21:53:13
581
原创 选择、快速排序算法实现
排序算法在笔试面试中是常考的知识点之一,其中的选择排序和快排算法经常会要求面试者手写。由 于其代码量短小并且可以在短时间内考察出面试者的编程习惯和基本功。为了提高巩固自己的基本功,所以在此实现两个算法的源码,也供大家评阅://FileName: Sort Algorithm//Author : WQP_Ya_Ping//Date : 2016-5-13//打印原数组vo
2016-05-13 14:18:56
740
原创 笔试面试题7--求因数个数
7.整数240有多少个因数?(C) A.36 B.54 C. 20 D.28解析:公式:因数个数 = (因子1 + 1)* (因子2 + 1)*(因子3 + 1)……240分解成4个2,1个3,1个5,那么因数个数就是(4+1)(1+1)(1+1)=5*2*2=20
2016-05-12 23:29:07
701
原创 笔试面试题6--递归思想
笔试面试题66.有一段楼梯台阶有15级台阶,以小明的脚力一步最多只能跨3级,请问小明登上这段楼梯有多少种不同的走法?( C ) A.2345 B.3261 C.5768 D.6843解析:类似斐波那契数列的思想,若所求方法表示为f(n),因为当台阶大于3时,可看做是f(n)=f(n-1)+f(n-2)+f(n-3);//因为踏入最后一节阶梯有
2016-05-12 23:16:40
916
原创 卡特兰数相关问题
详见链接::http://blog.youkuaiyun.com/han_xiaoyang/article/details/11938973
2016-05-12 17:32:42
396
原创 面试笔试题5--大整数表示问题?
5. 大整数845678992357836701转化成16进制表示,最后两位字符是? A. AB B. EF C. 8B D. 9D解析:它要16进制最后两位,也就是二进制最后八位。那么最后八位怎么求?很简单,除二取余。这样从后往前写就是10111001。。。。二进制嘛,倒着写,最后两位位应该是100111
2016-05-12 14:44:22
1051
原创 面试笔试题4--如何判断主机是大端小端?
方法1#includeint main(void){ unsigned int x = 0x12345678; unsigned char *p = (unsigned char*)&x; printf("%0x,%0x,%0x,%0x\n",p[0],p[1],p[2],p[3]); return 0;} //输出结果为:78 56
2016-05-12 14:35:24
355
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人