自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

czf的编程工坊

记录编程的点点滴滴

  • 博客(35)
  • 收藏
  • 关注

原创 Linux下的文本编辑器和Windows的编辑器

Linux下有:vi/vim:功能强大,插件多。gedit:(我的电脑上没有,无法演示)nano命令:nano是一个字符终端的文本编辑器,有点像DOS下的editor程序。它比vi/vim要简单得多,比较适合Linux初学者使用。nano亲自体验心得:感觉这个编译器还不错,界面丑了点,编译方式有点不太灵活。      学习参考: http://man.linuxde.n

2018-03-29 10:19:04 5768

原创 Linux下实现简单进度条(彩色版)

既然之前学习了Makefile就现学现卖,此处只是编译一个文件,多文件编译原理相同!Makefile:processbar1:processbar1.o gcc $^ -o $@%o: %.c gcc -c $^ -o $@all=processbar1.i\ processbar1.s\ processbar1.o\ processbar1.PHONY: clean

2018-03-27 21:08:13 324

原创 Mikefile详解

Mikefile的作用:makefile带来的好处就是——“自动化

2018-03-26 13:14:50 1277

原创 进程状态及进程的基本操作

进程标识符:操作系统为每个进程分配一个独一无二的数字编号,这个编号称为进程标识符正整数[ 2 - cat/proc/sys/kernel/pid_max )      操作系统选择下一个没有被使用的编号作为进程编号 0--内核进程  1--由0号进程产生,第一个用户态进程#include #include #include int main(){ pid_t p

2018-03-26 11:30:11 269

原创 C++实现日期类

Date(日期)类:练习实现类的成员函数。运算符的重载Date.h#include class Date{ //成员函数public: Date(){} Date(int year, int month, int day); //全缺省构造函数 Date(const Date& d); //拷贝构造 Date& operator=(const Date& d);

2018-03-24 23:34:42 177

原创 C++类的六个默认成员函数

【this指针】:1.每个成员函数都有一个指针形参,它的名字是固定的,成为this指针,this指针是隐式的,(构造函数比较特殊,没有这个隐含this形参)。2.类型: 类类型* const3.this指针并不是对象本身的一部分,不影响sizeof的结果4.this指针是”类成员函数”的第一个默认隐含参数,编译器自动维护传递,类编写者不能显式传递5.只有在类的非静态成员函数中才可以使用this指针...

2018-03-24 21:54:49 270

原创 树及二叉树基本概念【数据结构】

二叉树的基本概念

2018-03-24 11:36:18 342

原创 操作系统及进程基本概念

操作系统:进程和程序:

2018-03-24 10:48:44 290

原创 Linux下软件的安装

须知:Linux下的软件安装都是在跟用户权限下的操作。gcc:yum install gcc 在安装完成后用which gcc查看是否安装成功;g++:yum install gcc-c++ 在安装完成后用which g++查看是否安装成功;gdb:yum install gdb在安装完成后用which gdb查看是否安装成功;此法无法安装时可参考:打开

2018-03-23 15:46:28 126

原创 Linux的gcc和gdb

在Linux下我们编号程序都会输入 gcc test.c -o test的gcc的编译命令,那么gcc还有其他的什么操作?知识储备:预处理:预处理阶段编译器主要进行宏替换,其功能还包括宏定义,文件包含,条件编译,去注释等。

2018-03-19 17:14:36 268

原创 元素出栈、入栈顺序的合法性【数据结构】

元素出栈、入栈顺序的合法性。如入栈的序列(1,2,3,4,5),出栈序列为(4,5,3,2,1)。Test.cint TestStackInAndOutValid(int* In, int InSize, int* Out, int OutSize){ Stack s; int InIndex = 0; int OutIndex = 0; //入栈次序的大小和出栈的不相等 ,返回

2018-03-18 21:35:48 392

原创 使用两个队列实现一个栈【数据结构】

使用两个队列实现一个栈StackByQueue.htypedef int SQDataType;typedef struct StackByQueue{ Queue q1; Queue q2;}StackByQueue;void InitStackByQueue(StackByQueue* s);void PushStackByQueue(StackByQueue* s,

2018-03-18 21:32:11 234

原创 使用两个栈实现一个队列【数据结构】

使用两个栈实现一个队列QueueByStack.htypedef int SQDataType;typedef struct QueueByStack{ Stack _s1; Stack _s2;}QueueByStack;void InitQueueByStack(Queu

2018-03-18 21:27:13 213

原创 实现一个栈,Push、Pop、Min的时间复杂度为O(1)【数据结构】

1>将最小值和当前元素封装成结构体MinStack.htypedef int ElemType;typedef struct Elem{ ElemType _data; ElemType _mindata;}Elem;void InitMinStack(MinStack* s);void MinStackPush(MinStack* s, ElemType data);vo

2018-03-18 21:23:35 514

原创 队列和栈面试题【数据结构】

1.实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值)的时间复杂度为O(1)。2.使用两个栈实现一个队列3.使用两个队列实现一个栈4.元素出栈、入栈顺序的合法性。

2018-03-18 21:12:51 283

原创 Linux权限及vim基本操作

基本权限:普通用户创建文件默认666

2018-03-16 23:35:59 278

原创 类和对象

类和对象

2018-03-16 09:43:10 153

原创 引用详解和指针

引用:引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名。引用格式:引用特点:引用的原理:引用的原理:

2018-03-16 09:17:27 262

原创 C++初探

1:命名空间域------namespace2.函数重载3.全缺省参数缺省时只能从从右往左缺省,且必须连续!

2018-03-16 08:45:37 121

原创 队列---链式队列【数据结构】

链式队列:即是满足队列特性的单链表链式队列的基本操作:构成:typedef struct Node{ QDataType _data; struct Node* _pNext;}Node, *PNode;typedef struct Queue{ PNode _pHead; PNode _pTail;}Queue;创建新节点:PNode BuyNode

2018-03-14 14:30:15 170

原创 队列--环形队列【数据结构】

队列:1.只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表  2.进行插入操作的一端称为队尾(入队列)  3.进行删除操作的一端称为队头(出队列)  4.队列具有先进先出(FIFO)的特性由于顺序队列在操作上有诸多不便,(出队列时,要进行元素的搬移,效率低下,还会出现假溢出的问题)在此我们可以创建循环的顺序队列,即环形队列。环形队列的实现:

2018-03-14 14:13:47 684

原创 栈的应用----括号匹配、逆波兰表达式【数据结构】

问题描述:有一个字符串、判断其中的括号是否匹配?问题解决:利用栈1.先将字符串逐次扫描,遇到左括号均入栈,遇到右括号与栈顶字符相比较。2.若栈为空,则说明字符串中右括号多余3.若栈不为空,且字符相匹配,栈顶元素出栈,继续检测下一字符,若不匹配,则说明括号匹配的类型不正确4.若都相匹配且栈为空,则说明字符串中括号匹配正确,若栈不为空,则说明左括号多余。#include

2018-03-14 13:47:55 183

原创 顺序栈【数据结构】

栈:栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。————百度百科在实际的应用中我们大多创建的为顺序栈,因为顺序栈在入栈和出栈时的时间复杂度均为O(1)。顺序栈:

2018-03-14 13:25:00 229

原创 七大排序算法详解【数据结构】

排序算法在编程中经常用到,要做到熟练掌握,不经要能理出逻辑,也要注重算法思想

2018-03-13 20:01:32 281

原创 带头结点的双向链表【数据结构】

带头结点的双向链表是链表的进阶形式,但是使用起来也是非常方便的,基础操作需理解

2018-03-12 16:33:52 1454

原创 链表面试题【数据结构】

从尾到头打印单链表删除一个无头单链表的非尾节点(不能遍历链表)单链表实现约瑟夫环(JosephCircle)逆置/反转单链表

2018-03-12 11:12:14 186

原创 C指针【进阶】

区分方法:判断与其结合符号的优先级数组指针:指向数组的指针指针数组:存放指针类型的数组ex:int *p[10]   -----指针数组int (*p)[10] ------数组指针 int array[10] = { 0 };//int *p = &array; //警告,p是指针int(*q)[10] = &array; //q是数组指针,用来存

2018-03-12 00:37:01 307

原创 Linux【笔记】

知识储备:Linux目录:Linux文件

2018-03-12 00:03:40 174

原创 malloc、calloc、realloc、free

知识储备:内存的分配,详见文章下链接malloc:   void *malloc(size_t size);malloc分配的内存是位于堆中的,并且没有初始化内存的内容,因此基本上malloc之后,调用函数memset来初始化这部分的内存空间.在内存的动态存储区中分配一块长度为size字节的连续区域,参数size为需要内存空间的长度,返回该区域的首地址.calloc

2018-03-10 20:47:13 142

原创 链表【数据结构】

链表:一种链式存储的线性表,用一组地址任意的存储单元存放线性表的数据元素,称存储单元为一个节点链表分为:单链表双链表双向循环链表链表与顺序表的比较:顺序表支持随机访问,单链表不支持随机访问顺序表插入/删除数据效率很低,时间复杂度为O(N)(除尾插尾删),单链表插入/删除效率更高,时间复杂度为O(1)顺序表的高速缓存效率更高,单链表CPU高速缓存效率低这里介绍单链表的基本操作:结构:typedef ...

2018-03-10 00:30:01 169

原创 C指针【初阶】

指针:指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。

2018-03-06 20:38:54 138

原创 哈希表--开散列【数据结构】

哈希表:散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。———— 百度百科哈希冲突:对于两个数据元素的关键字Ki和Kj(i != j),有Ki  !=  Kj,但有:  HashFun(Ki) == HashFun(...

2018-03-06 14:28:56 406

原创 堆 【数据结构】

注意堆在解决海量数据TopK方面的应用!

2018-03-05 17:29:01 137

原创 二叉搜索树【数据结构】

二叉搜索树(Binary Search Tree):(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。————百度百科二叉搜索树的基本操作:构成:既然

2018-03-05 12:42:08 155

原创 链表-顺序表【数据结构】

链表时数据结构学习的起点、顺序表是单链表的简单形式

2018-03-02 08:11:58 150

空空如也

空空如也

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

TA关注的人

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