自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Cmake使用

源文件到可执行文件:预编译 -> 编译 -> 汇编 -> 链接。命令行生成libhello.so。命令行使用libhello.so。因为会直接去找默认动态库的位置。

2023-04-21 09:12:40 87

原创 leveldb源码(4):Log

leveldb

2023-02-12 21:13:45 142

原创 Git 使用 (1)

git

2023-02-11 21:05:14 96

原创 Linux内核设计与实现:进程调度

学习

2022-10-26 16:25:11 442

原创 leveldb:Minor Compaction

Minor Compaction

2022-10-24 14:53:25 122

原创 多线程(1):互斥锁

多线程

2022-10-20 14:30:34 173

原创 Linux内核设计与实现:进程管理

进程管理

2022-10-20 09:11:40 694

原创 gdb调试

gdb学习

2022-10-14 20:12:31 602

原创 记录第一次提交git遇到的问题

bug

2022-10-12 19:23:19 126

原创 mit6.S081 -- 虚拟内存

mit 6.S081

2022-09-28 20:17:30 203

原创 ucore lab2 练习1

物理内存

2022-09-12 14:45:00 125

原创 【论文阅读】NobLSM: 用于SSD的具有非阻塞写入的LSM tree

NobLSM

2022-09-06 21:53:55 1064 1

原创 uCore : lab1学习笔记

lab1

2022-09-05 20:02:20 395

原创 LevelDB源码解析(1)

1

2022-09-05 19:17:55 1109

原创 进程调度管理子系统(1)

2

2022-09-03 20:46:01 157

原创 Linux内核(1):源码编译和busybox文件系统

1

2022-09-03 20:23:59 697

原创 设计模式(2):工厂模式

学习

2022-09-02 10:37:41 93

原创 设计模式(1):简单工厂模式

学习

2022-09-02 10:24:36 96

原创 CMake(1)

学习

2022-09-02 09:16:19 193

原创 makefile(2)变量

变量

2022-09-01 21:07:28 94

原创 Makefile(1)从helloworld开始

入门

2022-08-31 19:47:44 113

原创 C++设计模式(1):单例模式

单例模式的学习笔记

2022-08-17 20:33:55 265

原创 C++智能指针

学习记录

2022-08-13 22:07:21 193

原创 物联网学习笔记-day01

C语言:typedef关键字:给数据类型起别名比如:typedef ARR[5];ARR arr;//定义了一个长度为5的数组;数据类型:int,unsigned:有符号数和无符号数相加,会先将有符号数转换为无符号数;char,short本身字节数过小,很容易溢出,所以只要参加运算,都会将自身转换为int;强制类型转换,只是当前语句有效左移运算符:<< 左边丢弃,右边补0;右移运算符: >> :有符号数:正数:右边丢弃,左边补0负数:右边丢

2021-03-26 18:41:57 73

原创 C++之const修饰指针

1.const修饰指针-常量指针const int *p = &a;*p = 20; //错误,指针指向的值不能修改;p = &b; //正确,指针指向可以改;2.指针常量int * const p = &a;*p = 20; //正确,指针指向的值可以改;p = &b; //错误,指针指向不可以改;3.指向和指向的值都不可以改co......

2020-05-05 22:46:46 102

原创 数据结构与算法之普里姆算法

思想:选取图中任意一个顶点,把它看成一棵树,并在与此树相接的边中选取一个权值最小的边,并将与这条边相接的另一个顶点也纳入树中,得到了一颗有两个顶点的树,以此类推,知道访问完图中所有的顶点并纳入树中为止;普里姆算法构造最小生成树的过程中:需要构造两个数组vset[ ]和lowcost[ ] 。vset[ i ] = 1表示顶点 i 已经被纳入树中,vset[ i ] = 0表示顶点 i 还未被纳...

2020-04-17 23:15:13 289

原创 数据结构与算法之广度优先遍历

类似于树的层次遍历,给定起始顶点v,然后选取与v相连的顶点w1,w2……wn进行访问,再依次访问w1,w2……wn的所有邻接节点,直到所有节点被访问完;void BFS(AGraph *G, int v, int visit[maxsize]){ ArcNode *p; int que[maxsize],front = 0,rear = 0; //定义队列的简单写法; int j; ...

2020-04-16 23:05:15 148

原创 C语言之空指针和野指针

空指针:没有存储任何内存地址的指针为空指针(指向编号为0的指针)该指针是不可以访问的int *p = NULL;野指针:指向非法内存的指针,该指针是不可以访问的int *p = 0x10440;...

2020-04-16 22:22:30 209

原创 C语言之内存四区

在C语言中代码是放在内存中执行的,总共有四个区:代码区,数据区,堆区,栈区;栈区:由编译器自动分配释放,比如函数中的参数值和局部变量:void a(int x. int y){ int z;}a,b,c都是都是放在栈区的,函数执行完后将自动释放;堆区:一般由程序员分配释放(比如malloc()函数),若程序员不释放,则可能在程序结束时由系统自动回收;char *src;sr.........

2020-04-16 21:54:45 447

原创 数据结构之图的存储结构

1.邻接矩阵用二维数组表示A[ i ][ j ] = 1,表示 i 和 j 之间存在边或弧,i 与 j邻接;A[ i ][ j ] = 0,表示 i 和 j 不邻接;struct VertexType{ int no; //顶点编号; char info; //顶点其他信息,默认为char;};struct MGraph{ int edges[maxSize][maxSi...

2020-04-14 22:14:12 93

原创 数据结构与算法之中序线索二叉树

对线索二叉树的结构定义如下:struct Node{ int data; int ltag,rtag; //线索标记; Node* lchild; Node* rchild;};如果ltag = 0,则 lchild为指针,指向节点的左孩子,若ltag = 1,则 lchild为线索,指向节点的直接前驱;如果rtag = 0,则 rchild为指针,指向节点的右孩子,若rta...

2020-04-11 23:06:12 232

原创 数据结构之二叉树的遍历

先序遍历:void preorder(node* root){ if(root != NULL) { Visit(root); //假设Visit()函数已经定义; preorder(root->lchild); preorder(root->rchild); }}中序遍历:void inorder(node* root){ if(root !=...

2020-04-08 17:18:13 134

原创 数据结构之二分查找

二分查找之前应用在折半插入和排序归并排序中过,道理是一样的,具体代码如下:int BinSearch(int A[], int low, int high,int k){ int mid; while(low <= high) { mid = (low+high)/2; //mid为low和high的中间值; if(A[mid] == k) //如果中间值等于k,则返...

2020-04-07 22:55:03 82

原创 数据结构与算法之归并排序

归并排序与其他交换排序和选择排序不一样,是将两个或两个以上的有序表合并为一个新的有序表;以下是其C语言代码:void Merge(int A[], int low, int mid, int high){ int i,j,k; int *B = ( int*)malloc((high-low+1)*sizeof(int)); for(int k = low; k <= high;...

2020-04-01 16:00:10 80

原创 数据结构与算法之堆排序

堆排序有大根堆和小根堆,这里只介绍大根堆以下是其C语言代码:首先是调整堆的元素:void HeadAdjust(int A[], int k, int len) { int i; A[0] = A[k]; //A[0]为临时空间,相当于“哨兵” for(i = 2*k; i < len; i*= 2) //i = 2*k的意思是访问子树,i *= 2的意思是访问当...

2020-03-31 17:21:36 110

原创 数据结构与算法之简单选择排序

字如其名,这是一种简单的算法C语言代码如下:void SelectSort(int A[], int n){ int i,j,k; int temp; for(i = 0; i < n; i++) { k = i; //每次从已排序的序列选取最后一个元素与后面未排序的序列做对比 for(j = i+1; j < n; ++j) { if(A[k] ...

2020-03-30 17:12:03 94

原创 数据结构与算法之快速排序

快速排序属于“交换类”的算法,和冒泡算法一样,比冒泡算法更高效其C语言代码如下:void QuickSort(int A[], int low,int high){ int i,j,temp; i = low; j = high; if(low < high) { temp = A[low]; while(low < high) { while(j &...

2020-03-30 17:05:08 58

原创 数据结构与算法之冒泡排序

其基本思想为从后往前(或从前往后)两两比较相邻元素的值,若为逆序(A[i-1]>A[i]),则交换他们,直到序列比较完;C语言代码如下:void BubbleSort(int A[], int n){ int i,j,temp,flag; for(i = 0; i < n; i++) { flag = false; //表示本次冒泡是否发生过交换的标志 f...

2020-03-29 17:35:32 113

原创 数据结构与算法之希尔排序

希尔排序又称“缩小增量排序”,其基本思想是将排序表分割成形如L[i,i+d,i+2d,…,i+kd]的特殊子表,即将相隔某个增量的数据组成一个子表,对各个子表进行直接插入排序,当整个表的元素已经基本有序时,,再对整个表进行一次直接插入排序;C语言代码如下:void ShellSort(int A[],int n){ int i,j,dk,temp; for(dk = n/2; dk &g...

2020-03-29 17:10:52 60

原创 考研数据结构与算法之折半插入排序

C语言代码:void InsertSort(int A[], int n){ int i,j,low,mid,high; for(int i = 2; i <= n; i++) { A[0] = A[i]; low = 1; high = i - 1; while(low <= high) { mid = (low + high)/2; if(...

2020-03-29 15:52:34 172

空空如也

空空如也

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

TA关注的人

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