<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[peterrrrr的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/peterrrrr</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; peterrrrr]]></copyright><item><title><![CDATA[Linux环境编程5]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121287546</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121287546</guid><author>peterrrrr</author><pubDate>Fri, 12 Nov 2021 14:30:54 +0800</pubDate><description><![CDATA[信号处理:

基本概念:

1、中断

当进程接收到信息后中止当前正在执行的过程,转而去执行其他任务,等其他任务完成后再返回,这种执行模式叫做中断模式

2、信号

是一种软件中断,由操作系统发出,进程接收后会执行相应的操作

3、常见的信号

kill-l显示所有的信号

SIGINT(2)Ctrl+c终止

SIGQ...]]></description><category></category></item><item><title><![CDATA[Linux环境编程4]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121260931</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121260931</guid><author>peterrrrr</author><pubDate>Thu, 11 Nov 2021 09:02:06 +0800</pubDate><description><![CDATA[文件同步:

1、在写入数据时内存与磁盘之间也有一个缓冲区,这种机制降低了磁盘的读写次数,提高了读写的效率

2、这种机制带来的后果就是磁盘中的数据与实际写入的数据不匹配,系统提供了三个函数可以让缓冲区中的数据立即写入到磁盘上



#include&lt;unistd.h&gt;

voidsync(void)

功能:把缓冲区中的数据立即同步到磁盘上

注意:并不会等待数据全部同步,而是把缓冲区的数据加入写入队列后,立即返回...]]></description><category></category></item><item><title><![CDATA[Linux环境编程3]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121240828</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121240828</guid><author>peterrrrr</author><pubDate>Wed, 10 Nov 2021 08:31:55 +0800</pubDate><description><![CDATA[系统调用(API)

系统调用就是操作系统提供的一些功能给程序员使用,这些功能已经被封装成C函数的形式,但这些功能不是标准C的一部分

一般应用程序运行在用户态(使用的是0~3G的虚拟内存),系统调用时工作在内核态(使用的是3~4G的虚拟内存)

常用的标准库的函数绝大部分时间运行在用户态,底层偶尔也会调用系统调用进入内核态

系统调用使用运行就是内核代码,内核代码属于内核的一部分,该代码的外部接口是以函数形式定义在共享库中(linux-gate.sold-linux.so...]]></description><category></category></item><item><title><![CDATA[Linux环境编程2]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121235907</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121235907</guid><author>peterrrrr</author><pubDate>Tue, 09 Nov 2021 20:14:50 +0800</pubDate><description><![CDATA[内存管理(了解框架和规则)

用户层

STL自动分配/释放内存调用C++

C++new/delete调用C

Cmalloc/free调用POSIX

POSIXbrk/sbrk调用Linux系统函数

Linuxmmap/munmap调用内核(kernel)



系统层

内核kmalloc/vmalloc...]]></description><category></category></item><item><title><![CDATA[Linux环境编程1]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121224417</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121224417</guid><author>peterrrrr</author><pubDate>Tue, 09 Nov 2021 11:24:47 +0800</pubDate><description><![CDATA[程序员必备技能:

一门编程语言:C语言、C++

数据结构与算法:表、树、图、查找、排序、STL

操作系统:UNIX/Linux系统

网络编程:TCP\IP协议簇(Socket技术、TCP、UDP、FTP协议)

数据库:MySQL

界面设计Z:Qt



课程介绍:

环境介绍

内存管理

文件管理

信号处理

进程管理

进程通信

线程管理

线程同步

网络...]]></description><category></category></item><item><title><![CDATA[数据结构8]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121208171</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121208171</guid><author>peterrrrr</author><pubDate>Mon, 08 Nov 2021 15:06:21 +0800</pubDate><description><![CDATA[算法:

排序算法的稳定性:

在待排序的数组中,如果有值相同的数据,排序过程中如果无论如何都不会改变它们俩的前后顺序,则认为该排序算法是稳定的



注意:算法的时间复杂度并不能完全地代表算法的实际执行时间,有些时候看似复杂度高的算法反而速度快



冒泡:

数据左右进行比较,把最大的数据交换到最后

特点是该算法对数据的有序性敏感,在排序过程中如果发现有序可以立即停止,如果待排序的...]]></description><category></category></item><item><title><![CDATA[数据结构7]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121178784</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121178784</guid><author>peterrrrr</author><pubDate>Sat, 06 Nov 2021 14:31:30 +0800</pubDate><description><![CDATA[邻接表:(graph2.c)

边:

顶点下标

下一条边的地址

顶点:

数据

指向第一条边的地址

图:

由顶点组成的数组

顶点数量



优点:节约存储空间

缺点:计算入度麻烦



十字链表:

专门用于存储有向图的一种方式

边:

弧尾下标

弧头下标

指向相同弧尾的下一...]]></description><category></category></item><item><title><![CDATA[数据结构6]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121155861</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121155861</guid><author>peterrrrr</author><pubDate>Fri, 05 Nov 2021 08:59:25 +0800</pubDate><description><![CDATA[平衡二叉树

前提是有序的二叉树,它的左右子树的高度不超过1,而且它的所有子树也要满足这个条件

如果有一棵有序二叉树呈单支状(接近单支状),它的查找效率接近链表,因此如果让它达到平衡的状态时效率才最高

由于节点的位置是受值的影响,因此只能进行调整,而不能强行修改



二叉树不平衡的基础原因:

1、xy

/\...]]></description><category></category></item><item><title><![CDATA[数据结构5]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121149222</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121149222</guid><author>peterrrrr</author><pubDate>Thu, 04 Nov 2021 19:14:46 +0800</pubDate><description><![CDATA[二叉树:

是一种常用的数据结构,处理起来比较简单方便,而且普通树可以很方便地转换成二叉树使用

定义:节点度最多为2

二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树



(***)二叉树性质:

性质1:二叉树的第i层上至多有2^(i-1)(i≥1)个节点

性质2:深度为h的二叉树中至多含有2^h-1个节点

...]]></description><category></category></item><item><title><![CDATA[数据结构4]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121135115</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121135115</guid><author>peterrrrr</author><pubDate>Thu, 04 Nov 2021 16:46:46 +0800</pubDate><description><![CDATA[树型结构:

1、树的基本概念

一种层次关系的数据结构(一对多)

有且仅有一个特定的节点,该节点没有前驱指针,被称为根节点

剩余的n个互不相交的子集组成,其中的每一个子集都是一棵树,被称为根节点的子树

注意:树型结构具有递归性(树中有树)



2、树的表示方法:倒悬树、嵌套法、凹凸法



3、树的专业术语(不同资料略有不同)

节点:组成树的基础元素,同时它也可以一棵树

...]]></description><category></category></item><item><title><![CDATA[数据结构3]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121094066</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121094066</guid><author>peterrrrr</author><pubDate>Tue, 02 Nov 2021 09:37:57 +0800</pubDate><description><![CDATA[封装链表:

1、单链表:尾添加的效率低,非法下标判断也很低

节点:

数据域

指针域

链表数据项:

头指针

尾指针

节点数量



2、静态链表(static_list.c)

节点:

数据项

游标

静态链表的节点存储在连续的内存中,...]]></description><category></category></item><item><title><![CDATA[数据结构2]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121075102</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121075102</guid><author>peterrrrr</author><pubDate>Mon, 01 Nov 2021 10:11:24 +0800</pubDate><description><![CDATA[功能受限的表

栈(FILO)只有一个进出的出入口的表结构,先进后出

顺序栈

数据项

存储元素的内存首地址

栈的容量

栈顶位置

运算

创建、销毁、入栈、出栈、栈满、空栈、栈顶



注意

栈顶指向顶部的第一个有效数据,称为满增栈

栈顶指向接下去要入栈的位置,称为空增栈

...]]></description><category></category></item><item><title><![CDATA[数据结构1]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121067682</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121067682</guid><author>peterrrrr</author><pubDate>Sun, 31 Oct 2021 18:18:00 +0800</pubDate><description><![CDATA[什么是数据结构

1、数据结构起源

1968年,美国高德纳教授,《计算机程序设计艺术》的第一卷《基本算法》的出版,开创了数据结构和算法的先河



数据结构是一门研究数据之间关系和操作的学科,而非计算方法

数据结构+算法=程序沃斯凭借这个观点写的论文获得了图灵奖,这句话展示了程序的本质

2、数据结构的基本概念

数据:所有能够输入到计算机中,能够被程序处理的描述客观事物的符号

数据项:有独立...]]></description><category></category></item><item><title><![CDATA[标准C语言12]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/121000744</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/121000744</guid><author>peterrrrr</author><pubDate>Wed, 27 Oct 2021 20:05:39 +0800</pubDate><description><![CDATA[文件的分类:

文本文件:存储的是ASCII码的二进制(人能看懂)

二进制文件:存储的是数据的补码



文件IO:

FILE*fp=fopen(constchar*path,constchar*mode);

功能:打开或创建文件

path:文件的路径

mode:打开的模式

r以只读权限打开文件,如果文件不存在则打开失败

r+在r的基础上增加写权限

w以只写...]]></description><category></category></item><item><title><![CDATA[标准C语言11]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/120987687</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/120987687</guid><author>peterrrrr</author><pubDate>Wed, 27 Oct 2021 10:23:24 +0800</pubDate><description><![CDATA[结构:

结构是一种由程序员自己设计的数据类型,用于描述一个实物的各项数据,

由若干个不同的基础类型组成



设计:

struct结构体名

{

类型1成员名;

类型2成员名;

...

};



定义结构变量:

struct结构体名变量名;

注意:在定义结构变量时,str...]]></description><category></category></item><item><title><![CDATA[标准C语言10]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/120960454</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/120960454</guid><author>peterrrrr</author><pubDate>Mon, 25 Oct 2021 21:03:53 +0800</pubDate><description><![CDATA[头文件中应该写什么:

问题:头文件可能被任何的源文件包含,意味着头文件的内容会在多个目标文件中存在,合并时要保证不能冲突

重点:头文件中只能编写声明语句,不能有定义语句

声明语句:

全局变量声明externintnum;

函数声明

宏常量

宏函数

typedef类型重定义

结构、联合、枚举的类型声明


...]]></description><category></category></item><item><title><![CDATA[数据结构与算法]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/119986819</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/119986819</guid><author>peterrrrr</author><pubDate>Sun, 29 Aug 2021 22:17:35 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[标准C语言总结01]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/119986796</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/119986796</guid><author>peterrrrr</author><pubDate>Sun, 29 Aug 2021 22:16:47 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[标准C语言9]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/119150794</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/119150794</guid><author>peterrrrr</author><pubDate>Tue, 27 Jul 2021 18:45:34 +0800</pubDate><description><![CDATA[预处理指令:

程序员所编写的代码并不能被真正的编译器编译,需要一段程序把代码翻一下

翻译的过程叫做预处理,负责翻译的程序叫做预处理器,被翻译的代码叫做预处理指令，

以#开头的都是与处理指令



查看预处理过程

gcc-Ecode.c把预处理的结果显示到终端上

gcc-Ecode.c-ocode.i把预处理结果存储...]]></description><category></category></item><item><title><![CDATA[标准C语言8]]></title><link>https://blog.youkuaiyun.com/peterrrrr/article/details/119150773</link><guid>https://blog.youkuaiyun.com/peterrrrr/article/details/119150773</guid><author>peterrrrr</author><pubDate>Tue, 27 Jul 2021 18:44:08 +0800</pubDate><description><![CDATA[输出缓冲区:

程序并不会立即把输出的数据显示到屏幕上,而是先存储在输出缓冲区中,当满足一定条件时

才显示出来

1、遇到\n(缓冲区内容也会刷新到屏幕上)

2、程序结束时

3、遇到输入语句时

4、当缓冲区满4K时

5、fflush(stdout)手动刷新(Linux系统有用)



输入缓冲区:...]]></description><category></category></item></channel></rss>