- 博客(85)
- 资源 (6)
- 收藏
- 关注
转载 shell脚本if -a到-z
[ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。 [ -f FILE ]
2018-02-02 09:54:22 331
原创 leetcode twoSum
Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the sam
2018-01-11 11:15:34 350
原创 Windows下Myeclipse不能卸载的解决方案Failed to load Library jvm
重新安装myeclipse还是卸载myeclipse都会提示Failed to load library jvm。解决办法就是卸载干净之后重新安装。在window是下myeclipse没有直接删除了myeclipse的文件夹,但是在此安装却不能安装的问题,可以使用以下工具:MicrosoftProgram_Install_and_Uninstall.meta.diagcab,可以去百度一下,这
2017-10-27 12:14:25 3861
原创 ubuntu下配置jdk-1.8.0_151和eclipse4.8.0问题的解决
在ubuntu下配置jdk-1.8.0_151遇到的问题;我自己下载的jdk.tar.gz解压在了/etc/local下,并且在/etc/profile下配置的jdk环境没有任何问题,但是在终端使用java -version 却是1.5.0并且javac -version版本是1.6.0和我原来的版本不一样。最终发现版本的问题是因为1、系统有内置的openjdk,可以通
2017-10-26 16:28:26 863
转载 hash
转自:http://blog.csdn.net/zxycode007/article/details/6999984散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法。顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙。散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据
2017-10-07 10:29:31 850
原创 mysql配置与可视化配置
mysql下载链接,里面有mysql和navicat mysql可视化工具。云盘地址:https://pan.baidu.com/s/1skF7ci5还有mysql的配置说明http://www.cnblogs.com/sshoub/p/4321640.htmlnavicat的使用http://www.cnblogs.com/neuedu/p/5876874.html
2017-09-21 19:25:11 516
原创 python在设置编码和写csv文件遇到的问题以及解决方案
#coding=utf-8from lxml import etreeimport requestsimport csvimport timeimport sysimport codecsreload(sys)sys.setdefaultencoding('utf8')def WriteCSV(Item): print Item[0],Item[1],Item[2]
2017-09-10 17:49:53 2551 1
原创 图那里的算法总结
//这里整理的为图那里的算法//邻接矩阵和邻接表的图的表示很重要//这里就不说明MAXSIZE就为最大值的默认了typedef struct ArcCell{ VRType adj; //这里是点中的值 InfoType *info; //这里是有关点的信息比如这里可以放
2017-03-13 19:20:24 388
原创 树那里代码总结
//树的非递归三种遍历算法//先序遍历算法void PreOrder(BiTree* bt){ Stack s; init(s) p = bt; while(p&&!IsEmpty(s)) { if(p) //当p不为空的时候一直往左走并且访问 { visit(p->data); push(s,p)
2017-03-13 19:19:27 521
原创 排序算法总结
//几个排序//快排 堆排序 希尔排序 归并排序 插入排序,选择排序 //快速排序//以下所有的排序都是从小到大排序//不稳定 时间复杂度O(nlgn)空间复杂度O(1) 最坏时间复杂度O(n^2)当序列基本或者完全趋于有序void qsort(int a[].int low,int high){ int privot = partition(a,low,high);
2017-03-13 19:16:50 345
原创 linux下添加新用户和用户添加到组
添加用户useradd gd删除用户userdel gd;把gd加入到root组gpasswd -a gd root把gd从root删除gpasswd -d gd root
2016-05-27 11:53:01 1816
转载 ubutun安装程序出错
通过终端安装程序sudo apt-get install xxx时出错: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)E: Unable to lock the administration directory (/var/lib/dpkg/),
2016-05-27 10:44:47 531
转载 select poll epoll的区别
本文转载至:http://www.cnblogs.com/Anker/p/3265058.htmlselect,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也
2016-05-23 12:52:02 361
原创 vim配置文件
“——————————————————————- ” VIM 配置 ” ” 最后修改时间:2015-08-22 “——————————————————————-” vundle 配置 set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.Vim call vundle#begin()Plugin
2016-03-05 15:38:58 597 1
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-03-05 15:37:16 354
原创 gdb调试程序
gdb调试程序,其实很方便,也很简单。不过今天才学会一点gdb。g++ file.cpp -g -o file这里需要注意需要加-g编译选项.接下来直入正题,我现在用gdb调试程序。gdb> file filename这个filename是你生成的二进制文件名。gdb>r这里r表示run;然后gdb>b 12表示在12行设置断点。然后gdb>n表示运行下一行
2016-03-05 15:33:11 373
原创 UNP小记
UNIX下的open函数和create函数都只有两个函数。open(pathname,O_WRONLY|O_CREATE,mode);create(pathname,O_WRONLY,mode);close(int filedes);关闭一个文件时也释放该进程加在该文件上的所有记录锁。当一个进程终止时,它所有的打开文件都由内核自动关闭,很多程序都使用这一功能,而不显示的使用cl
2016-02-24 12:04:06 416
原创 linux下编译静态库和使用静态库
在linux下静态库一般表示为xx.a在这里就需要先把你的xx.h文件编译成静态库,比如我这里写了一个文件就是my.hint foo(int x,int y){return x+y;}这里使用的这个函数的目的就是编译静态库;首先在编译静态库之前需要把你的my,h编译成my.o文件这里使用的命令很简单g++ my.h -o my.o然后现在my.h现在就变
2015-12-17 22:20:49 624
原创 Word Pattern
Word PatternGiven a pattern and a string str, find if str follows the same pattern.Here follow means a full match, such that there is a bijection between a letter in pattern and a non-em
2015-11-30 22:34:18 467
原创 STL的copy真是是做的了极致的效率
inline char* unitialized_copy(const char* first, const char* last, char* result){ std::memmove(result, first, last - first); return result + (last - first); } inline wchar_t* unitialized_copy(c
2015-11-30 21:00:46 1314
原创 自己实现的一个list双链表
#ifndef __LIST__#define __LIST__#ifndef __IOSTREAM__#include #endif#ifndef __ALLOCATOR__#include "allocator.h"#endif#ifndef __DEFAULT_ALLOC_TEMPLATE__#include "__default_alloc_templa
2015-11-30 20:50:53 417
原创 自己实现的简单heap max_heap和min_heap 还有sort
#ifndef __HEAP__#define __HEAP__#include "allocator.h"#include "__default_alloc_template.h"#include "Vector.h"templateclass heap{public: typedef typename Vector::iterator iterator;//底层用vector
2015-11-30 20:47:12 603
转载 RBT
前面一篇文章介绍了2-3查找树,可以看到,2-3查找树能保证在插入元素之后能保持树的平衡状态,最坏情况下即所有的子节点都是2-node,树的高度为lgN,从而保证了最坏情况下的时间复杂度。但是2-3树实现起来比较复杂,本文介绍一种简单实现2-3树的数据结构,即红黑树(Red-Black Tree)定义红黑树的主要是像是对2-3查找树进行编码,尤其是对2-3查找树中的3-node
2015-11-23 20:25:22 440
转载 linux 文件操作
Linux系统本身设计类Unix而来,系统由C语言设计实现。同样Linux也支持丰富的底层系统调用库提供给应用程序的文件操作处理。事实上C++语言自身许多类库的方法的封装,内部基本都采用封装系统调用提供统一简洁便利的接口方式。对于Linux系统,针对文件操作除了提供系统方法操作以外,C语言也提供了标准文件操作库,而C++语言由于基于C语言发展而来,因此C++文件编程除了本身提供的标准文件库以外,也
2015-11-22 22:11:44 994
转载 C++ virtual 继承
重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。 下图是一个继承图,我们重载了父类的f()函数。 其类继承的源代码如下所示。其中,每个类都有两个变量,一个是整形(4字节),一个是字符(1字节),而且还有自己的虚函数,自己overwrite父类的虚函数。如子类D中,f()覆盖了超类的函数, f1()和f2() 覆盖
2015-11-22 22:04:34 537
转载 C++ virtual 继承
07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了说明一些机理上的问题,也是为了图一些表达上方便和简单。不想,这篇文章成为了打开C++对象模型内存布局的一个引子,引发了大家对C++
2015-11-22 22:03:22 1133
转载 C++virtual继承
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这
2015-11-22 22:00:48 550
原创 一个位操作的小技巧
如果把一个整形 你想的二进制置1;可以这样 比如这里有个32位int t;可以这样 t |= 0x00在big endian下则是将它的第一位置1;然后如果是这样t|=0x01的话就将他的第二位置1;这里很简单了 在用字典的时候这个有很大用处
2015-11-05 10:45:15 452
原创 STL memory pool的详细解析下
首先需要把你的需要取得内存块转换成8的倍数这样转换 (m+ 8 - 1)&~(8-1)这样的话就可以转化了,然后直接找打自由链表的节点需要这个函数freelist_index这个函数可以计算你的第几个自由链表;然后直接找到自由链表中的现在可以使用的头结点的地址这里用my_free_list = freelist + index;然后找到之后就开始分配了,看看你的自由联是不是还有可以分配
2015-11-03 21:48:05 821
原创 STL memory pool的详细解析上
其实我感觉SGI STL的memory pool其实比较简单的,我记着大一的时候看的时候感觉挺复杂的,但是现在看不难,而且我对SGI STL的memory pool感觉十分厉害;我分析了一下这个内存池可能有内存碎片估计就这个几个地方;估计是memory pool中最后小于8字节的内存碎片 还有就是在freelist中的小于8字节的内存碎片,很简单freelist可以很大的改善,可以把1
2015-11-03 20:02:05 1613
原创 之前介绍 thread join和detach的区别但是不详细 (详细介绍)
线程状态:在一个线程的生存期内,可以在多种状态之间转换,不同的操作系统可以实现不同的线程模型,定义许多不同的线程状态,每个状态还可以包含多个子状态,但大体来说,如下几种状态是通用的:1)就绪:参与调度,等待被执行,一旦被调度选中,立即开始执行2)运行:占用CPU,正在运行中3)休眠:暂不参与调度,等待特定事件发生4)中止:已经运行完毕,等待回收线程资源
2015-11-03 19:40:52 5096
转载 lock_guard和unique_lock的区别
C++11中有一个区域锁lock_guard,还有第二个区域锁unique_lock。 区域锁lock_guard使用起来比较简单,除了构造函数外没有其他member function,在整个区域都有效。 区域锁unique_guard除了lock_guard的功能外,提供了更多的member_function,相对来说更灵活一些。 unique_guar
2015-11-03 19:39:00 3264
原创 thread的join和detach
thread的join其实就是区分就是会不会和主线程回合;其实也就是能不能释放资源的意思;join这个需要和主线程回合等到主线程快结束的时候然后释放该子线程的资源;detach这是是不需要和主线程回合的这个只要子线程执行完了之后 直接释放子线资源
2015-11-03 19:35:59 536
原创 复制构造和重载()的区别
复制构造是第一次在构造对象的时候就需要直接调用复制构造,比如class A{};A a;a b(a);这里使用的就是复制构造;但是如果是这样就不对了A a;a b;b(a);注意这里就是重载()了。很细微的差别
2015-11-02 19:55:03 438
转载 July的大学生涯
我的大学生涯作者:July,湖南人,2008年入学东华理工。时间:二零一一年七月二十三日。 半个多月前,便已离校了。往往是某些事还未来得及回顾,又将会有新的生活,新的挑战迎面扑来,令你手脚失措。但终究是为了不致忘却,也算是对过去三、四年的回顾与纪念,还是记下点什么吧,免得对以后的生活心生倦意。 三年前,即2008年10月,我是
2015-10-28 21:07:14 1024
原创 shell命令
shell命令之sed命令 我感觉sed最有用的命令是修改字符串的命令;比如 this is first;执行sed "s/is/IS/" 1.txt;这时就变成了thIS IS first;这里会把is改成IS还有这个命令:this is first this is secondthis is three这里使用命令sed "1 c/ 中国" 1.txt现在就
2015-10-17 18:28:14 519
原创 libevent
libevent细解event_base首先需要的是配置event_base,我这里假设读者都熟悉一点libevent,libevent是基于event的,然后event_base就是对注册激活的event处理,或者还可以调用event_dispeach进行处理。建立event_base只需要这个函数就可以 struct event_base * event_base_new(void);
2015-10-15 22:17:44 695
原创 Linux下rename批量改变同文件夹的文件后缀名
linux下rename的使用首先说明我的系统是Centos6.5现在我首先说我的rename是perl下的有Linux(0)就说明了是perl语言下的然后先看效果看这里就可以批量的是文件后缀名改变
2015-10-12 20:50:30 2701
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人