自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 Fedora 20 的vim配置和ctags安装

Fedora 20 的vim配置和ctags安装

2016-05-26 21:16:26 1168

原创 常见的排序算法(四)( 归并排序,计数排序 , 基数排序)

归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。  (如果读者不太了解什么叫分治法,可以去看看《算法导论》第一二章。)归并过程为:比较a[i]和a[j]的大小,若a[

2016-05-26 13:09:27 359

原创 常见的排序算法(三) 交换排序(冒泡排序,快速排序)

今天,给大家带来的是交换排序。  首先,我们来了解一下什么叫交换排序。所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。  那么接下来,我们来看一下。冒泡排序。冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他

2016-05-26 13:09:24 428

原创 常见的排序算法(二) 选择排序

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。选择排序:思想n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:①初始状态:无序区为R[1..n],有序区为空。②第1趟排序在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第

2016-05-26 13:09:21 227

原创 常见的排序算法(一) 插入排序

插入排序分为:直接插入排序,二分插入排序(又称折半插入排序),链表插入排序,希尔排序(又称缩小增量排序)。属于稳定排序的一种(通俗地讲,就是两个相等的数不会交换位置) 。在这里我具体讲直接插入排序和希尔排序。直接排序插入直接插入排序是由两层嵌套循环组成的。外层循环标识并决定待比较的数值。内层循环为待比较数值确定其最终位置。直接插入排序是将待比较的数值与它的前一个数值进行比较,所以外层循环是从第二个

2016-05-26 13:09:18 343

原创 Linux下时间戳格式和标准时间格式的转换

大家都知道linux文件系统中的每个文件都有三种时间戳:访问时间(atime——access time):就是上次访问这个文件的时间。改变时间(ctime——change time):就是文件的inode改变的时间(什么是inode?)当你往一个文件中添加数据或者删除数据的时候,修改文件所有者的时候,链接改变的时候,文件的ctime就会发生改变。修改时间(mtime——modification t

2016-05-26 13:09:15 3670

原创 find命令浅析

在Linux系统中查询,功能有很多。但是,find是linux下最棒的命令之一,其查询功能非常强大。接下来,我们便来看看其的强大之处。首先是find的语法:find [起始目录] 寻找条件 操作 以下将详细介绍find的大多数用法:工作方式:其沿着文件层次结构向下遍历,匹配符合条件的文件,并执行相应的操作打印文件和目录列表650) this.width=650;" src="http://s2.5

2016-05-26 13:09:13 307

原创 final, finally, finalize的区别描述

C++11标准提供了说明符final。需要注意的是,C++11中的final不是关键字,而是说明符,这意味着您可以将它(在不引起混淆的情况下)将它作为标识符使用(为了兼容以前的代码)。关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。C++11标准提供了说明符final,用于阻止派生类覆盖特定的虚方法。或是阻止一个类成为基类。语法1:class S

2016-05-26 13:09:10 461

原创 c++的强制类型转换

在C和C++中,强制类型转换时常出现,例如:void Test () {      int i = 1;     // 隐式类型转换      double d = i;      printf("%d, %.2f\n" , i, d);      int* p = &i; // 强制类型转换      int address = (int) p;      printf("%x, %d\n"

2016-05-26 13:09:07 294

原创 智能指针

说起指针相信大家一定不陌生,那么智能指针呢?首先,我们来看看,为什么要有智能指针?例如void Test2 () {      int* p1 = new int(2);      bool isEnd = true;      //...      if (isEnd )     {           delete p1 ;           return;     }      //..

2016-05-26 13:09:04 234

转载 各种字符串Hash函数

/// @brief BKDR Hash Function   /// @detail 本 算法由于在Brian Kernighan与Dennis Ritchie的《The C Programming Language》一书被展示而得 名,是一种简单快捷的hash算法,也是Java目前采用的字符串的Hash算法(累乘因子为31)。   template   size_t BKDRHash(cons

2016-05-26 13:09:01 338

原创 pthread_create的浅析

看下面代码,你是否能得出正确答案呢?#include #include #include     void* print1(void* data){     printf("1 "); }    void* print2(void* data){     printf("2 "); }   void* print3(void* data){     printf("3 "); }   int ma

2016-05-26 13:08:59 793

原创 柔性数组

首先,我们来看一个题typedef struct list_t{ struct list_t *next; struct list_t *prev; char data[0]; }list_t;此时,你知道32位系统中,sizeof(list_t)的值为多少么?这时,你会告诉我char data[0]在C和C++中是不被允许的,因为看起来毫无意义。然而,此处为何可以呢?在讲述柔性数组成员之前,首先

2016-05-26 13:08:56 327

原创 程序编译过程

编译程序(Compiler,compiling program)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。作为一个程序员,我们应该了解它的过程,才能 更好的工作和学习。编译过程课分为下列几个过程650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/7F/AF/wKiom1cotHXS

2016-05-26 13:08:53 295

原创 malloc和free的实现原理

对于malloc来说,很多人都不陌生。然而,我们对它的了解并不是很深,我们常常会用,而不明白其中的原理,从而,很容易造成内存泄漏,内存碎片等问题。这常常让我们头痛不已,故而我们需要进一步的去了解它。首先,什么事malloc?在很多人认为malloc是个关键字,但是malloc只是C的标准库中提供的一个普通函数。malloc 向系统申请分配指定size个字节的内存空间,返回类型是 void* 类型。

2016-05-26 13:08:49 1031 2

原创 注释转换

在我们写代码是有时要注释,所以很多时候,我们都是ctrl+k+c.既然常常用到,我们不妨写写看看它是怎么转换的。一方面提高编程能力,另一方面,也可以提高自身的的思考和处理问题的能力。 首先,我们来思考注释转换一个有多少问题。 1.一般情况/* int i = 0; */// 2.换行问题/* int i = 0; */int j = 0;/* int i = 0; */int j = 0;// 3

2016-05-26 13:08:47 303

原创 堆栈的区别

要了解堆和栈的区别,我们首先要了解系统的分区650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/7F/8B/wKioL1ciEwPCwSF5AAFcJ9qziH8088.jpg" title="无标题.jpg" alt="wKioL1ciEwPCwSF5AAFcJ9qziH8088.jpg" />BSS(Block Started b

2016-05-26 13:08:44 284

原创 菜鸟初长成

初次学习C语言是大一的时候,对于一个全部由字母和符号组成的,感觉到无趣和乏味。也许是天生对数字不敏感,也许是觉得没用(写半天只为输出一个hello),故而让我觉得学习C语言真的很难。难到都不想学,从而真的明白了兴趣是多么重要。对于一个都没尝试过的东西,就放弃的我,我为那时的我感到可悲。并且,都不会利用图书馆学习,只会坐等老师的指导的人感觉到更可悲。一个不会自主学习,没有求知欲的人,特别是一个大学生

2016-05-26 13:08:41 278

jsoncpp.zip

2016-08-13

ncurses-6.0.tar.gz

2016-08-13

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

TA关注的人

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