自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 基础IO 和 Linux 的文件系统

基础IO: 标准库IO接口 / Linux下系统调用IO接口 / 文件描述符 / 重定向 / 文件系统 / 库文件标准库的IO接口标准库的IO接口: fopen / fwrite / fread / fseek / fcloseFILE *fopen(char *filename,char mode);(文件名,打开方式)打开方式: r – 只读,r+ – 读写,w – 只写,w+ -...

2020-03-30 20:38:51 186

原创 进程控制

进程创建pid_t fork(void); – 创建一个进程 — 父子进程数据独有,代码共享写时拷贝技术: 子进程复制了父进程,一开始与父进程指向同一块物理内存;因此看起来父子进程完全相同,但是进程之间具有独立性,意味着当这块物理内存中数据即将发生改变时会重新给子进程开辟物理内存,将数据拷贝过来,因为子进程应该有自己的数据代码共享: 因为代码段是共有的进程创建时采用写时拷贝技术,目的...

2020-03-29 13:50:36 162

原创 Linux中内存管理方式

程序地址空间进程中访问的地址都是虚拟地址虚拟地址空间:操作系统向进程听过 mm_struct 结构体描述的一个虚拟的,现行的地址空间(空有地址编号,但不具备存储)操作系统通过虚拟地址空间,给每一个进程描述了一个完整的,独立的空间。虚拟地址空间,可以让进程依然使用连续的地址,通过页表映射之后,实现内存访问控制 – 进一步提高了进程的独立性页表的主要功能: 映射虚拟地址与物理地址的关系/提...

2020-03-29 11:51:02 578

原创 进程相关概念

进程是什么?进程就是pcb 是操作系统对运行中程序的描述,通过这个描述,实现对程序的运行调度,这个pcb/描述在Linux中是一个结构体----struct task_struct{……}描述信息: 内存指针、程序计数器、上下文数据、进程标识符PID、IO信息,进程状态、记账信息……内存指针: 用于指向程序指令数据在内存中的位置程序计数器/上下文数据: 用于保存当前的程序的运行操作系统认...

2020-03-29 00:02:42 331

原创 计数排序

void CountSort(int *a,int n) { // 找出最大数和最小数,确定序列的范围 int max = a[0]; int min = a[0]; for (int i = 0; i < n; ++i) { if (a[i] > max) { max = a[i]; } if (a[i] < min) { min = a[i...

2020-03-28 22:20:28 127

原创 归并排序

假设有这样一个序列: 1 3 5 7 2 4 6 8. 将这个序列从中间一分为二,会发现,左边的序列是有序的,右边的序列也是有序的,但是整个序列是无序的,如果要使整个序列有序,可以借助一个临时数组,两个指向左右两个序列前边的指针 begin1 和 begin2(现在 begin1 指向1,begin2 指向2)。将左右两个序列的元素逐个比大小,小的进入临时数组,并且指针往后走一位...

2020-03-26 17:47:48 120

原创 快速排序

快速排序是一种……的排序。(自行脑补)快速排序有三种思想:左右指针法挖坑法前后指针法左右指针法:首先在序列里边找出来 key 值,一般是用的序列最后一个元素作为 key 值。指针 begin 从序列左边开始往右边找比 key 值大的元素,若找到,停下,若没找到,继续往右走。指针 end 从序列右边开始往左边找比 key 值小的元素,若找到,停下,若没找到,继续往左走。交换 ...

2020-03-26 14:28:44 317

原创 选择排序

思想: 把要排序的序列分为两个序列,分别是有序序列和无序序列。一开始,因为还没有进行排序,所以整个序列都是无序的,所以有序序列为空,然后以升序为例,进行一次循环,挑出最小的数,放到无序序列的最前边,然后进行一次划分,将刚选出的这个数当做有序序列,剩下的数当做现有的无序序列,再进行循环挑出最小的数,放到最前边,再归类成有序序列的一部分,现在有序序列有两个数,剩下的所有数都是无序序列的,就这样进行一次...

2020-03-25 19:11:42 127

原创 希尔排序

希尔排序算得上是直接插入排序的升级版!那么为什么要有希尔排序?因为直接插入排序在最坏情况下(顺序)的时间复杂度是O(n)^2,但是同时在情况最好的时候(逆序)时间复杂度是 O(n),鉴于好的时候效率还可以,所以对插入排序进行一个升级!便有了希尔排序!具体思路如下:先将整个序列分成几个子序列(元素与元素之间相隔 gap(一个常量)的组成一个子序列),分别对每个子序列进行直接插入排序。如下图所示:...

2020-03-25 00:56:41 133

空空如也

空空如也

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

TA关注的人

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