自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【无标题】

OpenStack单节点安装部署Ceph

2022-10-14 10:14:38 172 1

原创 map和set

setset介绍:(1). set是按照一定次序存储元素的容器(2).在set中,元素的value也标识它(value就是key,类型为T),并且每个value必须是唯一的。set中的元素不能在容器中修改(元素总是const),但是可以从容器中插入或删除它们。(3). 在内部,set中的元素总是按照其内部比较对象(类型比较)所指示的特定严格弱排序准则进行排序。(4). set容器通过key访问单个元素的速度通常比unordered_set容器慢,但它们允许根据顺序对子集进行直接迭代。(5). s

2022-03-19 11:39:31 205

原创 c++继承

继承

2022-03-19 10:18:04 157

原创 c++-七大排序

/*时间复杂度:最坏O(n^2) 平均O(n^2) 最好O(n)空间复杂度:O(1)稳定性:稳定数据敏感:敏感*/void insertSort(int* array, int n){for (int i = 0; i < n - 1; ++i){//新数据插入//end: 有序序列的最后一个位置int end = i;//key: 待插入的数据int key = array[end + 1];//找到第一个小于等于key的位置while (end >= 0 &

2022-03-18 18:06:07 707

原创 c++中vector的使用

vectorresize的size和capacityreserve:只增加容量clear:不影响容量迭代器失效位置越界:位置错位:迭代器失效原因:1.容量发生了变化2.进行删除操作解决方法:重新获取迭代器

2022-03-18 17:35:24 692

原创 c++迭代器的介绍

c++迭代器

2022-03-18 17:15:15 1376

原创 基于c++的博客系统

基于 C++ 的博客系统

2022-03-17 16:46:16 1326

原创 信号的逐步处理

一、信号1、什么是信号?信号是一个软件中断,通知进程发生了某个事件,打断当前进程的当前操作,去处理这个事件;2、Linux下的信号分类:1~31号信号:非可靠信号(有可能产生信号丢失)34~64号信号:可靠信号(不会丢失)3、信号的生命周期:产生–>注册–>销毁–>处理(1)硬件产生:Ctrl+C 中断; Ctrl+Z 暂停; Ctrl+\ 退出;(2)软件产生:使用kill命令int kill(pid_t pid, int dignum); //int rais

2020-11-27 23:16:55 205 1

原创 Linux下无线程

一、线程的概念(1)线程是什么?线程就是进程中的一条执行流,是CPU调度的基本单位,在Linux下是一个轻量化进程。Linux下的线程是通过pcb实现,是程序运行的动态描述,通过这个描述操作系统实现程序的运行调度,但是一个进程可以有多个线程,这些线程共享进程的大部分资源,相较于传统进程更加的轻量化,因此也被称为轻量化进程。(2)线程资源的独有与共享独有:栈、寄存器、 信号屏蔽字、优先级、标识符、errno共享:虚拟地址空间、信号处理方式、文件描述表、工作路径(3)多线程与多进程进行多任务处理的

2020-11-27 14:32:39 174

原创 进程间通信的四个打手

进程间通信:操作系统为上层提供的进程间的通信方式;原因:每个进程都拥有自己的一块虚拟地址空间,访问的都是自己的虚拟地址,因此需要操作系统提供一个进程间都能够访问的区域来实现通信;进程间的通信方式:管道、 共享内存、消息队列、 信号量一、管道:实现进程间的数据传输功能(1)本质原理:管道就是内核中的一块缓冲区,多个进程通过访问同一个缓冲区来实现通信;(2)分类: 匿名管道、 命名管道匿名管道:内存中没有标识的缓冲区,只能用于具有、亲缘关系的进程间的通信;命名管道:内存中有标识的缓冲区,可以用于同

2020-11-27 10:52:04 91

原创 类和对象-日期类的实现

#include<iostream>using namespace std;class Date{public: // 获取某年某月的天数 int GetMonthDay(int year, int month) { static int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int day = days[month]; if (mo

2020-10-25 09:55:03 190

原创 内存中的动态管理

1、从不同的角度谈内存2、C中的动态内存管理(1)malloc使用malloc申请空间时:申请空间+不进行初始化(2)calloc使用calloc申请空间时:申请空间+初始化为0(3)realloc使用realloc申请空间时:(1)申请空间+不初始化注意:参数类型:(要调整的空间首地址,要调整的大小)如果原来的空间本身有值得话,需要拷过去(2)申请空间+修改地址头信息(3)申请空间+减小空间的大小(4)realloc(nullptr,字节数): 功能等价于malloc

2020-10-24 23:48:46 234

原创 数据结构排序家族

void Swap(int* array, int i, int j){int tmp = array[i];array[i] = array[j];array[j] = tmp;}//时间复杂度:最坏O(n ^ 2) 平均O(n ^ 2) 最好O(n)//空间复杂度:O(1)//稳定性:稳定//数据敏感:敏感void insertSort(int* array, int n){for (int i = 0; i < n - 1; ++i){//有序序列的最后一个位置i

2020-05-22 16:28:12 145

原创 栈与队列的相爱相杀

typedef char Type;typedef struct Stack{ Type* _array; size_t _size; size_t _capacity;}Stack;void stackInit(Stack* st, size_t n);void stackPush(Stack* st, Type data);void stackPop(Stack* st...

2020-04-26 22:22:37 145

原创 二叉树的绽放

在这里插入代码片```BTNode* BinaryTreeCreate(BTDataType* a, int* pi){ if (a[*pi] != '#') { BTNode* root = (BTNode*)malloc(sizeof(BTNode)); root->_data = a[*pi]; ++(*pi); root->_left = BinaryT...

2020-04-26 22:09:58 94

原创 单链表(快慢指针)

1.删除链表中等于给定值 val 的所有节点。 OJ链接struct ListNode* removeElements(struct ListNode* head, int val){ struct ListNode* cur = head; struct ListNode* prev = NULL; while(cur) { if(cur-&gt...

2020-04-10 20:35:34 175

原创 自给自足:结构体

在这里插入代码片结构体内存对齐:struct Test{int a;};struct Test{char a;int b;int c;};struct Test{char a;short b;int c;double d;int e;short f;char g;};struct S3{double d;char c;int i;};#pr...

2020-03-13 21:18:13 113

原创 模仿:memove&strstr&strcmp&memcpy

在这里插入代码片#include<stdio.h>#include<assert.h>#include<string.h>#include<stdlib.h>void* Memcpy(void* dest, const void* src, size_t num){assert(dest != NULL && src ...

2020-03-11 18:19:23 76

原创 My-strcpy&strlen&strcat

在这里插入代码片#include字符串拼接char* mystrcat(char* str1, const char* str2){if (str1 == NULL || str2 == NULL){return NULL;}int cur = 0;while (str1[cur] != ‘\0’){cur++;}int i = 0;while (str2[i] !...

2020-03-07 20:43:44 104

原创 败笔=数组&指针

在这里插入代码片#include<stdio.h>struct Test{int Num;char pcName;short sDate;char cha[2];short sBa[4];};int main(){问题1int a[5] = { 1, 2, 3, 4, 5 };int ptr = (int*)(&a + 1);printf("%d,...

2020-03-06 19:51:49 148

原创 Sizeof和Strlen的战争

在这里插入代码片#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char arr[] = { ‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’ };printf("%d\n", strlen(arr)); //UBprintf("%d\n", str...

2020-03-03 20:33:55 68

空空如也

空空如也

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

TA关注的人

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