- 博客(36)
- 资源 (2)
- 收藏
- 关注
转载 Git历险记(五)
转载自:分支与合并在Git里面我们可以创建不同的分支,来进行调试、发布、维护等不同工作,而互不干扰。下面我们还是来创建一个试验仓库,看一下Git分支运作的台前幕后:$rm -rf test_branch_proj $mkdir test_branch_proj $cd test_branch_proj $git init Initialized empty Git repository in /h
2014-06-24 22:13:59 858
转载 Git历险记(四)
我想如果看过《Git历险记》的前面三篇文章的朋友可能已经知道怎么用git add,git commit这两个命令了;知道它们一个是把文件暂存到索引中为下一次提交做准备,一个创建新的提交(commit)。但是它们台前幕后的一些有趣的细节大家不一定知晓,请允许我一一道来。Git 索引是一个在你的工作目录(working tree)和项目仓库间的暂存区域(staging area)。有了它, 你可以把许
2014-06-24 21:02:37 865
转载 Git历险记(三)
转载如果我们要把一个项目加入到Git的版本管理中,可以在项目所在的目录用git init命令建立一个空的本地仓库,然后再用git add命令把它们都加入到Git本地仓库的暂存区(stage or index)中,最后再用git commit命令提交到本地仓库里。创建一个新的项目目录,并生成一些简单的文件内容:$ mkdir test_proj$ cd test_proj$ echo “hello,
2014-06-24 20:28:51 968
转载 Git历险记(二)
各位同学,上回Git历险记(一)讲了一个 “hello Git” 的小故事。有的同学可能是玩过了其它分布式版本控制系统(DVCS),看完之后就触类旁通对Git就了然于胸了;也有的同学可能还如我当初入手Git一样,对它还是摸不着头脑。从这一篇开始,我就将比较“啰嗦”的和大家一起从零开始经历Git使用的每一步,当然对我而言这也是一个重新认识Git的过程。使用Git的第一步肯定是安装Git,因为在多数平
2014-06-24 19:49:27 892
原创 【40】二叉树子结构
题目:输入两个二叉树A和B的根节点,判断二叉树B是否为A的子结构分析:1. 两个二叉树如下所示 A树 B树 2. 要查找树A中是否包含数B一样的子结构,我们可以分成两步。 ...
2014-06-23 10:04:10 1198
原创 【C++ - 26】STL之list
一. list介绍1. 相对于vector是连续的线性空间,list是一个不连续的存储空间。每次在list中插入或删除一个元素,就配置一个或释放一个元素空间,因此list对于空间的使用有绝对的精准,一点都不会浪费的。2. STL中list的结点结构,在STL中list是一个双向链表。list结点如下图所示template<typename T>stru...
2014-06-16 16:03:24 2738
原创 【Linux-25】awk工具使用
一. awk工具介绍1. 相比sed用来处理一行数据,awk比较倾向将一行分成几个“字段”来处理。2. awk命令的格式 awk 'BEGIN{} {} END{}' filename (1)awk可以处理文件也可以读取来自前个命令的标准输出 (2)awk主要是处理每一行的字段内的数据,默认的字段分割符是空格键或tab键 (3)awk中B...
2014-06-15 23:34:17 1695
原创 【Linux-24】sed工具使用
一. sed介绍1. sed是一个很好的文本处理工具,本身也是一个管道命令。sed可以接收标准输入,主要是以行为单位,能够对数据进行替换,删除,新增,选取特定行等功能。2. sed命令的格式 sed [-nefr] 'commond' file -n:使用安静模式。在一般的sed命令中,所有来自stdin的数据一般都会被列出到屏幕上,但如果加上-n参数后,则...
2014-06-15 21:36:00 1349 1
原创 【Linux-31】Linux文件系统
一. inode详解1. Linux下每个文件都有唯一个inode,每个inode都有一个唯一的编号。inode用来记录了文件的相关属性,主要包括以下信息 (1)文件的权限 (2)文件的所属组和所属用户 (3)文件的大小 (4)文件的创建或改变的时间 (5)文件最近一次读取的时间 (6)文件最近修改的时间 (7)文件的block位置...
2014-06-15 19:40:57 1301 1
原创 【C++ - 25】STL之vector
一. vector概述 1. vector的数据安排以及操作方式与数组非常的相似。数组是静态空间,一旦配置了就无法改变其大小。但是vector是动态的,随着元素的加入它的内部机制会自动扩充空间以容纳新元素,所以不用担心vector的空间问题。 2. vector的内部实现机制:定义一个vector的时候,如果不指定大小默认会开辟一块大小为n(n是默认值)的空间,如果...
2014-06-14 10:18:49 2257 1
原创 【33】利用归并排序求逆序数对
题目:利用归并排序求解一个数组中的逆序数对分析:1. 什么是逆序数对,例如给定数组{7, 5, 6, 4},对于每个数num,如果num之前有多少个数大于num则说明num这个数构成逆序数对有多少个 7有0个,5有1个,6有1个,4有三个,因此数组中总的逆序数对为5。2. 怎么利用归并排序来求逆序数对呢? (1)假设数组为{7, 5, 6, 4}...
2014-06-13 10:18:46 1644
原创 【32】计算两个链表的公共长度
题目:给定两个链表的头结点,求两个链表的公共长度。分析:1. 两个链表无非就两种关系(其它特殊关系都可以看成是这两种的特殊关系) (1)不相交: (2)相交: 2. 对于第一种情况,两个链表不相交则公共长度为0。第二种情况是从第一个公共结点之后所有点都是公共的,因此可以求出公共长度。3. 怎么求两个链表公共长度呢...
2014-06-13 08:54:00 1354
原创 【C++ - 24】STL六大组件
一. STL六大组件介绍1. 容器STL容器包含两种:序列式容器主要有vector、list、deque,以及关联式容器主要有set、map、multiset、multimap。容器主要是用来存放数据的,从实现的角度来看容器是一种class template(类模板)。2. 算法STL包含算法达上百种,主要有sort、search、copy、erase、find等,...
2014-06-13 07:59:47 5027
原创 【27】链表反转
题目:给定一个单链表的头结点要求反转该链表并要求不能改变更改链表的结构分析:1. 假设一个链表如下 headNode -> node1 -> node2 -> node3 -> node4 -> NULL2. 则反转完这个链表之后,希望得到如下链表 NULL 3. 此时链表的头结点变成了node4,我们可以枚举整个链表,对每一个结点我们保存下前面一个结点和下面一个结点,然后更改结点内部
2014-06-12 16:29:30 1290
原创 【25】实现一个含有min函数的栈的通用模板
题目:设计一个栈类型,使得在该栈类型中有一个函数min可以得到栈的最小元素,要求这个栈的push、pop、min都是O(1)。
2014-06-08 08:27:53 1236
原创 【C++ - 23】虚函数之二
一. 设置虚函数需要考虑五个方面1. 只有类的成员函数才能声明为虚函数2. 类的静态成员函数不能为虚函数,因为调用静态成员函数不需要实例只需要用类名即可。而调用一个虚函数需要类的实例化对象,因为需要从实例化对象中的指向虚函数表的指针得到虚函数的地址,所以静态成员函数是不能为虚函数的3. 内联函数不能为虚函数。 因为内联函数是在编译的时候决定要不要内联的,内联...
2014-06-07 00:31:40 1010
原创 【C++ - 22】虚函数
一. 什么是虚函数1. 虚函数是面向对象编程中函数的一种特定形态,是C++中用于实现多态的一种有效机制2. 虚函数用virtual修饰函数名,虚函数的作用是在程序的运行阶段动态的选择合适的成员函数,在定义了虚函数之后,可以在基类的派生类中对虚函数进行重定义,在派生类中重定义的函数与基类虚函数具有相同的函数返回值、函数参数列表、函数名等。如果派生类中没有重定义基类的虚函数则它是直...
2014-06-06 23:01:08 1061
原创 【Linux-23】shell脚本实例集合
1. 求某个目录下普通文件的个数#!/bin/bashpath=/home/chenguolincount=0for file in $(ls $path)do if [ -f $file ] then let count++ fidoneecho "count = $count"exit 02. 写一个脚本,利用循...
2014-06-06 00:31:22 9992
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人