自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并发,线程和进程

并发:两个或者更多的任务(独立的活动)同时发生(进行); 就好像车道一样,一条马路有多条车道,并行着车辆(前后跟随的并不算并行) 进程:进程是表示资源分配的基本单位,又是调度运行的基本单位。当一个可执行程序被运行了的时候那就创建了一个进程 线程:每个进程都有一个主线程(线程是进程中执行运算的最小单位),并且这个主线程是唯一的,也就是一个进程中只能有一个主线程。只要进程存在那么主线程也就会相应诞生(也可以手动编写其他子线程)。线程是用来执行代码的。就好像一列火车,进程是这辆火车,而线程为每节车厢。 ...

2020-09-11 16:50:22 127

原创 c++中一些常用排序算法的实现

冒泡排序 #include<iostream> using namespace std; int main() { int n; cin >> n; int* p = new int[n]; int t; for (int i = 0; i < n; ++i) { cin >> p[i]; } for (int i = 0; i < n; ++i) { for (int j

2020-09-01 19:54:30 205

原创 c语言中约瑟夫环问题的实现

什么是约瑟夫问题? 约瑟夫问题是一个有名的问题,编号为1-N的N个人安顺时针围坐一圈,选取M为报数的上限,从第一个人按顺时针开始报数,将第M个人出列,,下一个人继续从1开始报数,报到M的人再出列,直至所有的人全部出列为止。 数组方法实现 #include <iostream> using namespace std; //n是有几个人,m为有删除间隔,s为开始下标 int Joseph(int n, int m, int s) { if (n < m || n <=

2020-08-30 15:28:19 630

原创 指针函数,函数指针与回调函数

指针函数 指针函数是函数,是返回值为指针类型的函数 1 int func1(); // 声明一个函数,返回值为int类型 2 int *func2(); // 声明一个函数,返回值为int类型指针,指向一个int的地址 例如 int *fun(){ int *p = new int; return p; } 函数指针 它是指针,指向函数的指针。如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这

2020-08-28 19:17:10 166

原创 深拷贝和浅拷贝

深拷贝和浅拷贝一、什么是深拷贝和浅拷贝?二、浅拷贝所带来的问题和深拷贝总结 一、什么是深拷贝和浅拷贝? 浅拷贝:简单的赋值拷贝操作 深拷贝:在堆区重新申请空间,进行拷贝操作 二、浅拷贝所带来的问题和深拷贝 一、 浅拷贝带来的问题 (1)如果类中叧包含简单数据成员,没有指向堆区的指针, 可以使用编译器提供的默认拷贝构造函数 (2)如果类中包含指向堆中数据的指针,浅复制将出现 严重问题(因为浅拷贝将指针所指向的堆区的地址也一并拷贝了,当运行析构函数的时候,本体和复制体的析构函数都会去释放同一块堆区内存,对..

2020-08-24 18:03:10 650

原创 c++中的引用操作

1 引用的基本使用 作用:给变量取个别名 用法:type &别名 = 原名 使用引用之后别名和原名都操控的是同一块数据内存 void test01(){ int a = 10;//引用必须要初始化 int &b = a;//一旦确定了是a的别名后,就不可以更改成别的变量的别名 //此时a,b访问同一块内存,他们的值输出也是相同的都为10 cout<< a <<endl; cout<< b <<endl; //

2020-08-24 16:11:52 330

原创 STL各个容器的使用以及常用的查找

关于vector容器的使用我写在了https://blog.csdn.net/qq_42002426/article/details/108169478 所有容器都有size() empty()方法 1.deque 双端数组,操作特点:在两端插入和删除效率都比较好,在指定位置插入,也会引起数据元素的移动。 支持随机访问 deque分段连续的内存空间 deque的几种构造方法 //构造 void test01() { deque<int>d; deque<int>d1(10, 5

2020-08-23 21:16:43 662

原创 c++中vector容器的基本操作

什么是vector? 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,简单的理解就是一个可以动态变化的数组。 vector的容量是随着你放入元素的数量而动态变化的。但是其只会增长而不是缩小 基本操作 在使用容器是要先写好头文件#include 构造容器 以int类型的为例子 void test01() { vector<int> v1;//创建一个空容器 int arr[] =

2020-08-22 16:03:02 719

空空如也

空空如也

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

TA关注的人

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