自定义博客皮肤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)
  • 收藏
  • 关注

原创 串的模式匹配

基本概念字串的定位操作通常称作模式匹配(其中子串成为模式串),是各种串处理系统中的重要操作之一. 在博文c语言实现字符串中给出了定位函数int string_index(h_string S, h_string T, int pos)的一种算法.该算法的基本思路: 从主串S的第pos个字符起和模式串T的第一个字符比较,若相等,则继续逐个比较后续字符;否则从主串S的下一个字符起再重新和模式串T的字

2016-08-22 13:26:40 2885 3

原创 c语言实现字符串

串的基本概念串 ( 字符串 ) :是零个或多个字符组成的有限序列。 记作: S=”a1a_1a2a_2a3a_3a4a_4…” ,其中 S 是串名, aia_i (1 ≦ i ≦ n) 是 单个,可以是字母、数字或其它字符。 串值:双引号括起来的字符序列是串值。 串长:串中所包含的字符个数称为该串的长度。 空串 ( 空的字符串 ) :长度为零的串称为空串,它不 包含任何字符。 空格串

2016-08-21 01:16:58 4301

转载 c语言动态分配内存空间(转)

转自:http://c.biancheng.net/cpp/html/137.htmlmalloc函数头文件#include <stdlib.h>malloc() 函数用来动态地分配内存空间,其原型为:void* malloc (size_t size);【参数说明】size 为需要分配的内存空间的大小,以字节(Byte)计。【函数说明】malloc() 在堆区分配一块指定大小的内存空间,用来存放数

2016-08-15 21:20:48 4316

原创 循环队列——队列的顺序表示和实现

前面分析顺序队的时候,我们知道,顺序队存在”假溢出”的问题,这个问题有时会造成很大的内存浪费,循环队列就是为了解决这个问题而提出地一个很巧妙的办法.循环队列和顺序队列的主要区别在于:循环队列将顺序队列臆造成一个环状空间.在操作上这种异同体现在: 相同点:在顺序队列和循环队列中,进行出队、入队操作时,队首、队尾指针都要加 1 ,朝前移动。 不同点: 1. 在循环队列中当队首、队尾指针指

2016-08-14 16:59:36 5601

原创 队列及其c语言实现

队列的基本概念队列 (Queue) :也是运算受限的线性表。是一种先进先出 (First In First Out ,简称 FIFO) 的线性表。只允许在表的一端进行插入,而在另一端进行删除。 队首 (front) :允许进行删除的一端称为队首。 队尾 (rear) :允许进行插入的一端称为队尾。队列中没有元素时称为空队列。在空队列中依次加入元素 a 1 , a 2 , …, a n 之后, a

2016-08-14 00:31:34 22269 11

原创 c语言栈实现表达式求值

算术四则运算规则先乘除,后加减从左算到右先括号内后括号外表达式组成任何一个表达式都有操作数、运算符和界定符组成。操作数即可以是常量,也可以是被说明为变量或常量的标识符。运算符可以分为算术运算,关系运算和逻辑运算符。界定符有左右括号和结束符等。若把运算符和界定符统称为算符,他们构成的集合命名为OP.则任意两个相继出现的算符a和b之间的有限关系至多是下面的三种之一:a < b   a的优先权高

2016-08-12 17:03:20 15244 3

原创 c语言栈实现括号匹配

在文字处理软件或编译程序设计时,常常需要检查一个字符串或一个表达式中的括号是否相匹配? 匹配思想:从左至右扫描一个字符串(或表达式),则每个右括号将与最近遇到的那个左括号相匹配。则可以在从左至右扫描过程中把所遇到的左括号存放到堆栈中。每当遇到一个右括号时,就将它与栈顶的左括号(如果存在)相匹配,同时从栈顶删除该左括号。 算法思想:设置一个栈,当读到左括号时,左括号进栈。当读到右括号时,则从栈中弹

2016-08-12 03:02:41 18453 2

原创 栈的c语言实现

栈的基本概念栈是限定仅在表尾进行插入或删除的操作.因此,对于栈来说,表尾端有其特殊的含义,称为栈顶(top),相应的表头端称为栈底(bottom).不含元素的空表称为空栈. 栈的修改是按照后进先出的原则进行的,又成为LIFO结构.插入元素的操作称为入栈,删除栈顶元素的操作成为出栈.栈的基本操作有:插入删除初始化判空取栈顶元素清除栈销毁栈遍历栈栈的长度栈的表示和实现栈有两种表示方

2016-08-11 14:04:00 1752

转载 VIM键盘映射 (Map)

转自:http://www.pythonclub.org/linux/vim/map设置键盘映射使用:map命令,可以将键盘上的某个按键与Vim的命令绑定起来。例如使用以下命令,可以通过F5键将单词用花括号括起来: :map <F5> i{e<Esc>a}<Esc>其中:i{将插入字符{,然后使用Esc退回到命令状态;接着用e移到单词结尾,a}增加字符},最后退至命令状态。在执行以上命令之后,光标定

2016-08-10 14:50:47 9540

原创 c语言单链表实现多项式计算

多项式链表的结构和接口均参考严蔚敏老师的(c语言版)《数据结构》。加法的实现: 假设指针pa,pb分别指向多项式A和B当前进行比较的某个结点,则比较这两个结点的指数项,有下列三种情况:指针pa所指结点的指数值 < 指针pb所指结点的指数值:则应摘取pa指针所指结点插入到“和多项式”链表中去指针pa所指结点的指数值 < 指针pb所指结点的指数值:则应摘取pb指针所指结点插入到“和多项式“链表中去

2016-08-09 20:21:52 8293 1

转载 vim常用命令

Vim 是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器。这里收录了130+程序员必备的 vim 命令,帮助你提高开发效率。 转自:http://www.cnblogs.com/lhb25/p/130-essential-vim-commands.html基本命令 :e f

2016-08-08 00:32:42 949

原创 函数指针变量

在C语言中,一个函数总是占用一段连续的内存区域,函数名就是该函数所占内存区域的首地址。我们可以把函数的这个首地址(或称入口地址)赋予一个指针变量,使该指针变量指向该函数,然后通过指针变量就可以找到并调用这个函数。我们把这种指向函数的指针变量称为函数指针变量。 函数指针变量定义的一般形式为:datatype (*指针变量名)();也可以如此定义:typedef void(*FunType)(int)

2016-08-07 17:48:13 1438 5

原创 静态链表和循环链表

静态链表所谓静态链表,与指针型描述的链表(动态链表)的区别在于静态链表借用一维数组来描述链表.这种存储类型需要预先分配一个较大的空间.其结构如下图: 与动态链表操作时最大的区别在于: 静态链表需由用户自己实现malloc和free函数.为了辨明数组中哪些分量未被使用,解决的办法是:将所有未被使用过的以及被删除的分量用游标链成一个备用的链表,每当进行插入时便可从备用链表中取得第一个结点作为待

2016-08-07 01:13:39 1489

原创 线性表的C语言实现

函数声明头文件:function.h#define true 1#define false 0/* 定义链表的数据类型为int型 */typedef int datatype;/*线性表的单链表存储结构*/typedef struct l_node{ /*声明数据域*/ datatype data; /*声明指针域*/ struct l_node *next

2016-08-07 00:01:57 1518

原创 常用正则表达式

邮箱\w+\.?\w+@\w+\.com(\.cn)?解释: \w+表示一个或者多个字母,汉字,数字,下划线 .?表示有一个或者没有. .com表示有.com (.cn)表示有或者没有.cn字符上述正则表达式可以匹配下列类型的邮箱: [email protected] [email protected]地址((25[0-5]|2[0-4]\d|[0-1]?\d\

2016-08-05 23:43:01 637

原创 ubuntu 下git的使用

最近要学习《unix环境高级编程》,由于章节较多,需要编写的程序文件也很多,为了更好的管理这些文件,想起了git。于是看了廖雪峰的git教程,总结了一些git的基本使用命令。 详细教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000安装gitsudo apt-get install

2016-08-03 01:58:15 1210 3

原创 正则表达式

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码更详细教程:http://deerchao.net/tutorials/regex/regex.htm#metacode在线测试工具:http://www.regexr.com/常用元字符 代码 功能 . 匹配换行符以外的任意字符

2016-08-02 23:36:09 510

原创 利用bash shell批量修改文件名

在百度云盘上下载的文件名一般都是乱码(如下图),由于文件太多,手动更改文件名有点麻烦,于是尝试写了一个bash脚本来批量修改. #!/bin/bashfor files in `ls`do # 截取文件名的前两个字符 fname=${files:0:2} # 截取文件的后四个字符 bname=${files:0-4} # 拼接成文件名 filen

2016-08-02 12:42:01 23802 2

空空如也

空空如也

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

TA关注的人

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