自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux系统编程之进程间通信

进程互斥 由于各进程要求共享资源,而且有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种 关系为进程的互斥 系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源。消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法 每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值 特性方面 IPC资源必须删除,否则不会自动清除,除非重启,所以system V IPC资源的生命周期随内核。

2024-07-16 15:32:45 565

原创 【刷题】两个数组的交集

给定两个整数数组分别为num1、num2,找到它们的公共元素并按数组形式返回。输入:[2]两个数组的公共元素只有2。

2024-07-16 09:49:26 114

原创 Linux系统编程之基础I/O

Linux系统 I/O

2024-07-14 01:00:50 850

原创 C++进阶之哈希

unordered_map是存储键值对的关联式容器,其允许通过keys快速的索引到与 其对应的value。在unordered_map中,键值通常用于惟一地标识元素,而映射值是一个对象,其内容与此键关联。键和映射值的类型可能不同。在内部,unordered_map没有对按照任何特定的顺序排序, 为了能在常数范围内 找到key所对应的value,unordered_map将相同哈希值的键值对放在相同的桶中。

2024-06-29 10:02:59 606 1

原创 C++进阶之map和set

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

2024-06-18 20:25:09 751

原创 数据结构之二叉树进阶

对有n个结点的二叉搜索树,若每个元素查找的概率相等,则二叉搜索树平均查找长度是结点在二 叉搜索树的深度的函数,即结点越深,则比较次数越多。a、从根开始比较,查找,比根大则往右边走查找,比根小则往左边走查找。b、最多查找高度次,走到到空,还没找到,这个值不存在。b. 树不空,按二叉搜索树性质查找插入位置,插入新节点。插入和删除操作都必须先查找,查找效率代表了二叉搜索树中各个操作的性能。a. 树为空,则直接新增节点,赋值给root指针。

2024-06-07 21:26:05 843

原创 Linux系统编程之进程控制

在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。

2024-06-05 17:48:42 991

原创 MySQL数据库之表的操作

MySQL数据库之表的操作

2024-06-04 20:54:51 338

原创 MySQL数据库之库的操作

MySQL数据库之库的操作

2024-06-04 20:27:40 564

原创 C++进阶之多态

多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会 产生出不同的状态。

2024-06-03 16:30:15 616

原创 C++进阶之继承

继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。

2024-06-01 11:33:46 948

原创 MySQL数据库之基础

MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。

2024-05-31 20:26:38 795

原创 Linux系统编程之进程

我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系。

2024-05-31 19:43:13 753

原创 C++初阶之list

list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。

2024-05-24 17:08:06 631

原创 C++初阶之vector

vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素 进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。

2024-05-24 15:52:49 736

原创 this指针特性

this指针特性

2024-05-19 16:53:25 134

原创 C++初阶之深入模板

模板参数分类类型形参与非类型形参。类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用。

2024-05-18 10:05:16 993

原创 C++初阶之stack和queue

queue的介绍队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端 提取元素。队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的 成员函数来访问其元素。元素从队尾入队列,从队头出队列。底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。该底层容器应至少支持以下操作:empty:检测队列是否为空size:返回队列中有效元素的个数front:返回队头元素的引用。

2024-05-17 16:29:28 646

原创 Linux系统编程之基础开发工具

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.

2024-05-16 16:10:28 687

原创 C++初阶之string类

C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。

2024-05-09 17:32:32 847

原创 Linux系统编程之基本指令

Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统, 它包括GUI组件和许多其他实用工具。

2024-05-07 00:30:10 990

原创 C++初阶之STL

STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。

2024-05-06 10:48:09 233

原创 C++初阶之模板初阶

函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。

2024-05-05 09:37:31 771

原创 C++初阶之内存管理

C语言内存管理方式在C++中可以继续使用,但有些地方就无能为力,而且使用起来比较麻烦,因 此C++又提出了自己的内存管理方式:通过new和delete操作符进行动态内存管理。

2024-05-01 11:41:38 847

原创 C++初阶之类和对象(下)

构造函数体中的语句只能将其称为赋初值,而不能称作初始化。因为初始化只能初始化一次,而构造函数体内可以多次赋值。

2024-04-29 10:17:56 448

原创 C++初阶之类和对象(中)

如果一个类中什么成员都没有,简称为空类。空类中,任何类在什么都不写时,编译器会自动生成6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。

2024-04-27 19:18:26 571

原创 C++初阶之类和对象(上)

C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。

2024-04-25 20:44:19 890

原创 C++初阶之入门

C++是基于C语言而产生的,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程序设计。

2024-04-25 15:43:30 1033

原创 数据结构之排序

所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。数据元素全部放在内存中的排序。数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。

2024-04-14 17:02:08 664

原创 数据结构之二叉树

树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,。注意:树形结构中,子树之间不能有交集,否则就不是树形结构。

2024-03-05 20:13:20 929

原创 数据结构之栈和队列

一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。栈的删除操作叫做出栈。出数据也在栈顶。

2024-02-23 19:32:10 352

原创 数据结构之顺序表链表

线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。

2024-02-21 20:34:47 1089 1

原创 数据结构之时空复杂度

算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单 来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。

2024-02-17 15:25:36 543

原创 C语言进阶之程序环境和预处理

在ANSIC的任何一种实现中,存在两个不同的环境。第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。

2024-02-06 10:57:12 807

原创 C语言进阶之文件操作

磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。

2024-02-04 21:33:04 870

原创 C语言之位段练习

C语言位段练习

2024-02-03 11:14:24 387

原创 C语言进阶之动态内存管理

C语言进阶之动态内存管理

2024-02-02 21:22:35 905

原创 C语言之通讯录

C语言实现通讯录

2024-02-02 15:40:10 397

原创 C语言进阶之自定义类型

结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。

2024-02-01 11:57:27 797

原创 C语言之字符串旋转结果

写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串。

2024-01-31 17:35:26 386

空空如也

空空如也

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

TA关注的人

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