关闭

关于vfork的小知识

介绍vfork和fork一样都可以用来创建一个新进程,与fork相比,它有一些自己独特的用处。下面是他们的一些异同 * vfork 与fork一样都是调用一次,返回两次(一个是父进程调用vfork后的返回值,该返回值为子进程的pid。一个是子进程调用vfork的返回值,该返回值为0) * 使用fork创建一个子进程的时候,子进程只是完整复制子进程的资源。这样得到的子进程独立于父进程,具有...
阅读(20) 评论(2)

Linux中ls -a,-l,-r,-R命令的实现

ls简介ls是我们使用Linux最常用的命令,可以用来打印当前目录或者制定目录的清单,显示出文件的一些信息等。 ls -a可以将目录下的全部文件(包括隐藏文件)显示出来 ls -l 列出长数据串,包括文件的属性和权限等数据 ls -r将排序结果反向输出,例如:原本文件名由小到大,反向则由大到小 ls -R连同子目录一同显示出来,也就所说该目录下所有文件都会显示出来(显示隐藏文件要加-a参数)...
阅读(31) 评论(0)

Linux中chmod指令的实现

chmod命令可以使用八进制数来指定权限。首先man 2 chmod查看chmod函数原型 为int chmod(const char *pathname,mode_t mode);权限更改成功返回0,失败返回-1.错误代码储存在errno中#include #include //strtol对应头文件 #include<sy...
阅读(129) 评论(2)

赫夫曼树以及赫夫曼编码

1.概念赫夫曼树赫夫曼树,又称最优树,是一类带权路径长度最短的树。 首先给出路径和路径长度的概念。从树中一个节点到另一个节点之间的分支构成这两个节点之间的路径,路径上的分支数目叫做路径长度。树的路径长度是从树根到每一节点的路径长度之和。 考虑上带权的节点。节点的带权路径长度为从该结点到树根之间的路径长度与节点上权的乘积。树的带权路径长度为树中所有叶子节点的带权路径长度之和,通常记作WPL=∑nk...
阅读(71) 评论(0)

define和typedef的区别

由于最近接触数据结构比较多,经常会遇到 #define int ElenType等等的一些宏定义,以及在定义链表节点的时候经常要用到typedef,感觉define和typedef有一些相似的地方,但是也存在一定的区别。define是宏定义,typedef是类型定义#define ptr1 char* typedef char * ptr2; ptr1 p1,p2; ptr2 p3,p4;...
阅读(37) 评论(0)

二叉树的层次遍历

二叉树的层次遍历需要用到队列方面的知识,二叉树之前已经讲过一部分操作,这次主要讲二叉树的层次遍历 所谓的层次遍历即就是先从根结点开始遍历,然后以此根结点的下一级节点(默认从左往右遍历),直到完全遍历。 上图层次遍历的结果应当为A B G C D H E F ,下面咱们来看操作二叉树头文件#ifndef _TREE_H #define _TREE_H#define ElemType char...
阅读(89) 评论(0)

队列的实现

队列,又称为伫列(queue),是先进先出(FIFO, First-In-First-Out)的线性表。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为rear)进行插入操作,在前端(称为front)进行删除操作。队列的操作方式和堆栈类似,唯一的区别在于队列只允许新数据在后端进行添加。 ———维基百科 我们可以用队列完成很多的操作...
阅读(63) 评论(0)

二叉树的创建,遍历,查找,查找父节点,深度,大小等的递归实现

在计算机科学中,二叉树(英语:Binary tree)是每个节点最多只有两个分支(不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”和“右子树”。二叉树的分支具有左右次序,不能颠倒。 今天我们来实现一下二叉树的创建,三种遍历,以及查找等。 拿这个二叉树来说吧#ifndef _TREE_H #define _TREE_H#define ElemType char typedef st...
阅读(70) 评论(2)

linux下清屏以及休眠函数的调用

在windows环境下用清屏和休眠的时候是用的windows.h这个库,那么在linux下我们想要使用这几个函数该怎么去操作呢? 话不多说,放代码#include #include #ifdef __linux__ char* cl = "reset"; #elif __WIN32__ char* cl = "cls"; #else printf("count...
阅读(107) 评论(0)

栈应用于进制转换

前面我们介绍了栈用于括号匹配,本次咱们介绍栈的其他应用。因为栈先进后出的特点,刚好和进制转换数据从后往前读相吻合,所以栈也可以解决进制转换的问题#include using namespace std; #include #define ElemType int //定义数据元素的类型 #define STACK_SIZE...
阅读(85) 评论(0)

栈应用于括号匹配

栈是一种先进后出的结构,它在程序设计中有很多的应用,今天咱们介绍一下栈应用于括号匹配的问题有一行括号序列输入数据是一个字符串S(S的长度小于100,且S不是空串),数据保证S中只含有”[“,”]”,”(“,”)”四种字符 如果字符串中所含的括号是配对的,则输出YES!,如果不配对则输出NO!分析: 首先咱们先将输入的字符串输入到一个字符数组中,然后依次入栈,若下一次输入的括号刚好能和栈顶的括号匹...
阅读(106) 评论(0)

stdout和stderr关于缓冲区的浅解

stdout(标准输出),输出方式是行缓冲。输出的字符会先存放在缓冲区,等按下回车键时才进行实际的I/O操作。 stderr(标准错误),是不带缓冲的,这使得出错信息可以直接尽快地显示出来。#include int main() { while(1) { fprintf(stdout,"Group"); fprintf(stderr...
阅读(91) 评论(2)
    个人资料
    • 访问:835次
    • 积分:128
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:0篇
    • 评论:8条
    文章分类
    文章存档
    最新评论