自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lotluck的专栏

怀着不能所以的曾经,恨自己当初的无能为力

  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 好用的valgrind

对于这个valgrind,目前我仅仅使用了它的检查内存是否泄漏的问题,我们经常在写代码的时候,如果只malloc开辟了空间,而忘记free释放空间的话就会内存泄漏。如果用这个工具的话,那么就简单多了。     valgrind的官网下载http://valgrind.org/downloads/    网上也有很多安装教程,我的主机是centos6.5。我在这个上面安装成功了。

2015-12-22 09:28:50 892

原创 广义表的相关操作

这次是广义表,概念也不想多说了,网上很多,重复么啥意思,这次广义表的创建让我感觉几点处理的很巧妙,比如判断广义表的括号是否匹配呢,我的第一反应就是栈呢,因为之前写过逆波兰表达式,就是用栈处理了括号,但是这次就是用一个变量flag处理了,遇到左括号++,遇到右括号--,判断最后是否为0。          也许把广义表处理的最麻烦的地方哪个就是字符串了,把字符串专化成真正的广义表,也就是真实的存

2015-12-14 20:25:03 1283

原创 正确的二分查找

之前原来自己写的二分查找是错误的,估计大多数人写的二分查找也和我写的差不多吧,下面这链接是我之前写的错误的二分查找,现在来正确的,这个还是在july的树上看到的,感觉这个人特别厉害。      关键的一步还是mid = left + ((right-left)>>1);因为如果我们用两个很大合理的数相加,那么就会越界啊,这里巧妙的应用的位运算。     还有一点,尽量不要什么魔鬼数字,就是

2015-12-11 10:11:10 769

原创 动态数组的实现 及 迭代器

今晚把之前的动态数组敲了一遍,感觉还是有点生疏啊,都忘记的差不多了,开辟一个void **data的动态数组,里面存的是void *,这样也实现了通用性,然后呢里面用到了函数指针,写了接口,用户可以自己写,比如void (*free)(void *ptr),还有迭代器,可以遍历任何东西,今晚先用迭代器遍历这个动态数组,为了方便,我全部用存成整数,简单方便。       其实,这个里面呢,还有一

2015-12-10 21:13:39 1757

原创 双端链表实现hash(哈希)

hash表又称为散列表,很多的地方都用到了这个东西,js中的对象,java中的键值对,python中的字典,hash结合了数组和链表的优点,在查找,存储有很大的优势。以我的理解来说,通过相应的键,找到相对应的值,数组的优点快啊,存储采用链表,节省空间,插入删除方便,这次我用整数模拟一下,简单的hash函数,仅仅对数字进行取余,把取余相同的放在一个区域里面,也就是说,一个键可以对应多个值   h

2015-12-09 18:39:25 1436

原创 双端链表实现队列

这次实现队列还是用到了双端链表,和上篇的一样,也是双端链表实现的,简单么,下面写好了,上面直接调用。现在redis竟然是用C语言写的,而且底层实现也是双端链表,这是非常重要滴  queue.h文件#ifndef _QUEUE_H_#define _QUEUE_H_#include "tools.h"typedef struct Queue{ Dlist *dlist; /

2015-12-09 17:59:51 727

原创 用双端链表实现通用栈

这篇 还是双端链表基础上实现,这里面只是在套组件,套写过的东西,就需要重新组合一下而已,也许以后在公司也就是这个样子,感觉C语言越来越强大了,还需要好好搞搞C语言,关于栈,不想多BB,感觉说啥概念没意思了,也就是上代码,这是如何实现的  stack.h文件#ifndef _STACK_H_#define _STACK_H_#include "dlist.h"#include "

2015-12-09 17:48:58 901

原创 双端链表

这次的双端链表还是比较通用的,因为前面的链表没有一点通用行,我的数据类型就仅仅在int的范围,这次通用的话,就可以存储各种数据类型,double,char,int , 图,二叉树,等等,起始只需要一个void *既可以搞定,因为这个可以指向任意的数据类型。 双端链表头文件的声明dlist.h#ifndef _DLIST_H_#define _DLIST_H_#include "too

2015-12-09 17:40:10 905

原创 带有控制信息的单链表

上一篇写了单链表,如果认真敲了代码,就可以看出里面从在很大的问题,想要删除尾部节点,必须还要遍历的链表,这时间复杂度也太高了吧,因此这篇会设计一个带有控制信息的单链表,一个指针指向链表的头部,一个指针指向链表的尾部,一个int变量记录链表节点的个数,这样就方便多了,主要看操作,哈哈,(最近get到主要看气质,也许长的丑才看气质,哈哈)。头文件声明ctr_list.h#ifndef _CTR

2015-12-09 17:31:00 621 1

原创 单链表的一些操作

在前一篇写了工具函数,以后的每篇几乎都会用到tools.h文件,如果在linux下编译就需要这样,举例 gcc list.c  tools.c  main.c -o main  把这3个文件编译链接成可执行文件main,linux下./main就可以运行了。     还是在开始提一下吧,为什么在销毁链表的时候需要用到双重指针,因为不仅要释放指针所指向的这快区域,还是把该指针释放了,因为free

2015-12-09 17:19:26 646

原创 链表开始前的准备 之 tools(工具)、包裹函数

学习链表这么长时间了,趁着今晚有时间,感觉总结一下,这次真感觉跟着驰哥学习了不少的东西,对于这次链表,终于有了真正意思上写C语言的感觉吧,虽然买了C语言的接口与实现,不过现在没时间看,等链表这一块完全学习完在看吧。C语言也可以写的很漂亮的,组件化思想,也就是模块化,写一个东西就在里面套、套、套模块,有点像玩积木的感觉。不过开始写链表之前,先来一篇这个东西tools,简单说就是写一个工具,方便其他文

2015-12-07 19:23:27 629

原创 搞搞阿里云 及 centos7.0 成功安装docker

说到这个阿里云,感觉这个真的不错,对于学生也比较便宜,6个月也就60元,也是非常的划算的,我在上面可以装各种镜像,如果弄错的话,重新初始化,再也不用把自己的电脑当实验品了,装坏了还要重新装系统。          接下来就开始centos7下docker的配置吧1 首先先看看你的系统不合适,直接进行安装 uname -i uname -r yum insta

2015-12-03 15:19:55 1364

原创 关于 centos下docker安装中遇到的问题 小小吐嘈一下下

昨晚也就是11月的最后一个晚上,突然意外看到docker,感觉这货还不错,于是就搞了一波,但是很多人好人多都是在ubuntu下搞的,而且内核版本也符合的docker的配置环境要求,直接无脑的apt-get一装,就开始用了,交互式的,守护式的,各种秀操作。(ps:我并对ubuntu没有恶意,只是仁者见仁,智者见智,喜欢redhat和centos罢了)        说道这里,我还是简单说说d

2015-12-03 14:37:02 1171

linux下vim的自动补全的插件

如果用过sublime,就知道它的自动补全很好用,这个在linux下的vim也可以

2016-01-02

浅谈数据库

浅谈数据库,有一些基本概念,对于数据库的基本操作,增删改查做了一个ppt

2014-10-28

空空如也

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

TA关注的人

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