自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

北极星

北极星

  • 博客(51)
  • 收藏
  • 关注

原创 Python语法

python语法

2023-02-05 00:43:55 352

原创 git配置与查看当前配置

文章目录1、配置git用户、邮箱(windows平台)2、查看git配置文件(windows平台)2.1、查看git配置-全部配置2.2、查看git配置-系统配置2.3、查看git配置-用户配置1、配置git用户、邮箱(windows平台)# 配置用户名、邮箱Admin@PRS-7910G MINGW64 /e/006.GitCmd$ git config --global user.name "sznari2012_glb"Admin@PRS-7910G MINGW64 /e/006.GitCm

2022-03-20 00:12:47 1869

原创 yum软件安装

yum软件安装1、软件安装卸载# 安装rpm包,显示详细信息和进度条rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm# 查看vsftpd安装情况rpm -q vsftpd# 删除已安装软件rpm -e vsftpd# 依赖不存在时不报错--nodeps,只是安装不报错,但运行时还是运行不起来rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm --nodeps2、yum命令# yum命令用法:yum [options][com

2022-02-27 00:26:05 2773

原创 git_本地库操作

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-05-25 23:43:41 237

原创 第一讲 Python操控Excel之读取

bilibil视频链接import openpyxlwb = openpyxl.load_workbook('example.xlsx')# 获取表单sheet# 方法1:print(wb.sheetnames) # ['Sheet1']# 方法2:for sheet in wb: print(sheet.title) # Sheet1# 创建表单,但并未存入文件中mySheet = wb.create_sheet('mySheet')print(wb.sheetnames

2021-04-08 01:38:50 232

原创 multimap案例

1.案例要求公司今天招聘5个员工,5名员工进入公司之后,需要指派员工在哪个部门工作员工信息有:姓名、年龄、电话、工资等组成通过multimap进行信息的插入、保存、显示分部门显示员工信息、显示全部员工信息2.案例代码实现2.1.代码#include <iostream>#include <vector>#include <map> #incl...

2019-11-17 21:32:52 148

原创 STL_map/multimap容器

文章目录map/multimap容器1.map/multimap特性2.map常用API2.1.map构造函数2.2.map赋值操作2.3.map大小操作2.4.map插入数据元素操作3.插入举例3.1.插入4中方法3.2.insert插入返回值3.3.第4中插入方法插入键值相同的元素3.4.用第4中方法访问不存在的key的后果map/multimap容器1.map/multimap特性ma...

2019-11-03 23:53:10 204

原创 pair

文章目录1.pair介绍2.如何创建pair2.1.创建方法12.2.创建方法22.2.pair赋值1.pair介绍pair将一对值合成一个值,这一对值可以具有不同的类型,两个值可以分别用pair的两个公有函数first和second访问。类模板:template <class T1,class T2> struct pair2.如何创建pair2.1.创建方法1pai...

2019-10-30 23:54:06 138

原创 set/multiset容器

文章目录set/multiset容器1.set/multiset特性2.set常用API2.1.构造函数2.2.set赋值操作2.3.set大小操作2.4.set插入和删除操作2.4.1.删除举例2.5.set查找操作2.5.1.find函数举例2.5.2.equal_range函数举例set/multiset容器1.set/multiset特性set/multiset特性是所有元素都会根据...

2019-10-30 00:10:51 183

原创 服务器开发之Linux网络编程_网络基础_1

文章目录1.典型协议2.网络应用程序设计模式2.1.C/S模式优缺点2.2.B/S模式优缺点3.分层模型3.1.OSI七层模型3.2.TCP/IP四层模型4.通信过程5.数据包封装6.以太网帧格式6.1.以太网帧格式6.2.根据类型来区分不同的帧类型6.3.要发送数据,需要填充MAC,MAC通过arp格式帧获取6.4.APR数据部分28个字节有效字节内容格式6.5.ARP报文的发送和接收(获取目的...

2019-10-15 23:21:28 364

原创 STL_链表list容器

1.链表list特性需包含头文件#include <list>链表由一系列节点组成,节点包含两个域,一个数据域,一个地址域。链表内存是非连续的。添加删除元素,时间复杂度都是常数项,不需要移动元素,比数组添加和删除效率高链表在需要的时候才分配内存只要拿到链表的第一个节点,相当于拿到了整个链表。链表需要额外的空间保存节点关系(前驱、后继)2.链表list构造函数...

2019-10-13 18:38:01 378

原创 STL_队列queue容器

文章目录1.队列queue特性2.队列queue构造函数3.队列queue存取、插入、删除操作4.队列queue赋值操作5.队列queue大小判断6.队列queue举例1.队列queue特性先进先出。从一端(队尾)插入,另一端(队头)删除。不提供迭代器,不能进行遍历,不支持随机访问。2.队列queue构造函数//默认构造函数queue<T> queT;//拷贝构造函数...

2019-10-13 16:37:58 145

原创 STL_栈stack容器

1.栈stack特性栈stack使用需包含头文件:#include <stack>栈,不提供迭代器,不支持遍历,不支持随机存取,只能通过pop()函数,从栈顶逐个删除元素。2.栈stack构造函数//stack对象默认构造函数stack<T> stkT;//拷贝构造函数stack(const stack &stk);3.栈stack赋值操作...

2019-10-13 16:00:00 150

原创 STL_deque容器_2_deque应用举例

1.选手打分并排序评委打分案例(sort算法排序)创建5个选手(姓名,得分),10个评委对5个选手进行打分得分规则:去除最高分,去除最低分,取出平均分按得分对5个选手进行排名#include <iostream>#include <vector> //vector头文件#include <string> //string头文件#include &...

2019-10-13 15:34:17 277

原创 STL_deque容器_1_函数列表

1.deque特性需包含头文件#include <deque>2.deque构造函数deque<T> deq; //采用模板实现类实现,默认构造函数deque(deq.begin(), deq.end()); //将deq[begin(), end()]区间中的元素拷贝给本身deque(n, elem); //构造函数将n个elem拷贝给本身deque(...

2019-10-13 15:27:54 118

原创 STL_vector容器_2_函数列表

文章目录3.vector初始化_构造函数4.vector常用赋值操作函数5.vector大小操作函数6.vector数据存取操作函数7.vector插入和删除操作函数3.vector初始化_构造函数vector<T> v; //采用模板实现类实现,默认构造函数vector(v.begin(), v.end()); //将v[begin(), end()]区间中的元素拷贝给本身v...

2019-10-13 10:52:20 140

原创 STL_vector容器_1_特性、函数、举例

文章目录1.vector容器特性2.vector动态增长原理3.vector初始化3.1.vector构造函数3.2.vector初始化举例4.vector常用赋值操作4.1.赋值操作函数4.2.赋值操作函数举例5.vector大小操作5.1.大小操作函数5.2.大小操作函数举例1.vector容器特性动态数组,可变数组。单口容器。在尾部插入:push_back()在尾部弹出:pop_b...

2019-10-11 23:32:51 293

原创 C++第十一天

文章目录1.拷贝构造函数基础1.1.构造和析构函数调用次数1.2.新增拷贝构造函数测试构造函数调用次数2.拷贝构造函数2.1.传递的参数类型决定调用哪个构造函数例12.2.传递的参数类型决定调用哪个构造函数例22.3.拷贝构造函数去掉```&```是否可行3.默认拷贝构造函数和自定义拷贝构造函数的区别3.1.默认拷贝构造函数3.2.自定义拷贝构造函数4.类成员有指针,调用拷贝构造函数的情形...

2019-10-07 20:33:40 129

原创 C++第十天

文章目录1.多态基础1.1.约分实现代码1.2.子类对象地址赋值给父类指针2.多态实现2.1.指针实现多态2.2.引用实现多态2.3.多态实现小结3.虚函数表3.1.没有虚函数的类大小3.2.有一个虚函数的类大小3.3.有多个虚函数的类大小4.多态举例4.1.指针实现多态4.2.引用实现多态5.纯虚函数、抽象类(不允许直接创建对象)6.虚函数注意事项6.1.构造函数不能是虚函数6.2.类中任何一个...

2019-10-07 18:35:46 195

原创 C++第九天

文章目录1.继承1.1.子类父类同名函数1.同名同参2.同名不同参3.同名不同参一般解决办法1.继承继承:一个类(定义一个新类)自动获得另一个类(已经存在的类)的全部成员。例如:原有类Animal,则定义一个新类公开继承Animal:class Bird:public Animal{}公开继承:父类中定义的不同权限变量,在之类和外部的访问权限表:父类中定义私有priva...

2019-10-07 15:10:16 305

原创 C++第八天

文章目录1.时钟程序(多文件)1.1.修改结构中变量名称1.2.将函数放入结构中,变成结构的成员函数1.3.成员函数中的参数```Time* p```多余1.3.成员函数中的```this->```多余1.4.成员变量可以任意公开访问修改2.类(结构体修改为类)2.1.结构体stuct修改为类class2.2.类实现时钟程序3.对象3.1.构造函数3.2.初始化列表3.3.形参默认值3.4....

2019-10-05 19:46:41 157

原创 C++第七天

文章目录1.getline1.1.用法一1.2.用法二2.输入一串字符,统计每个字符个数3.常指针(const)4.指针变量占字节数5.两个用法比较6.命令行参数7.引用7.1.传参形参使用引用8.函数指针1.getline1.1.用法一#include <iostream>using namespace std;int main(){ string str; get...

2019-10-05 16:10:48 127

原创 C++第六天

文章目录1.结构体1.1.结构体数组2.字符串3.两个日期间相差天数1.结构体组装的数据类型struct{xxx};结构体大小,可能大于各个元素大小的总和。操作系统为了对其,有时会给变量多分配地址空间。1.1.结构体数组Student s[3]={{xxx},{xxx},{xxx}};2.字符串cin>>字符变量地址把输入的一串字符从这个地址表示的内存单元开始依次...

2019-10-05 13:39:10 88

原创 C++第五天

文章目录1.数组初始化2.数组大小2.数组清零2.1.循环赋值2.2.memset()2.3. bzero()3.字符变量地址特殊处理4.排序4.1.选择排序5.快速打字法1.数组初始化int a[5]={10,20,30,40,50};如果没写个数,编译器自己数,数到几个算几个。int a[]={10,20,30,40,50};初始化数据不够,后面一律补0.int a[10]={...

2019-10-03 15:31:30 126

原创 C++第四天

1.递归把复杂的大规模的问题化成简单的小规模但是跟原来类似的问题,调用同一个函数来处理这个小规模的问题,在足够简单的时候直接解决问题。递归需要使规模逐渐变小,最终达到结束条件。#include <iostream>using namespace std;int f(int n){ if(n==0) { return 1; } else { //递归 ...

2019-10-02 17:09:04 190

原创 C++第三天

文章目录1.强制类型转换2.运算符2.1.++和--运算符2.2.左移和右移运算符2.3.条件运算符```_?_:_```2.4.运算符优先级2.5.赋值运算的结果等于左边的变量3.数据类型3.1.枚举类型1.强制类型转换两种方式:(类型)变量类型(变量)2.运算符2.1.++和–运算符前++和前–:在变量使用前先对变量做自增/自减操作;后++和后–:在变量使用后对变量操做自增/...

2019-10-01 17:18:09 175

原创 C++第二天

文章目录1.编程步骤2.ASCII码3.输入输出3.1.输出字符串3.2.输入4.变量声明使用5、常量1.编程步骤(1) 编辑(2) 编译:g++ -c main.cpp(3) 链接:g++ main.o编译+链接:g++ main.cpp(4) 执行:./a.out2.ASCII码范围:0~127数字0:48 (0x30)字母A:65 (0x41)字母a:97 (0x61)...

2019-10-01 12:31:05 169

原创 Linux系统编程_课时86_读写锁练习

文章目录课时86_读写锁练习1、要求2、不加锁2.1、不加锁代码2.2、不加锁代码执行结果3、加读写锁3.1、加读写锁代码3.2、加读写锁代码执行结果课时86_读写锁练习1、要求3个线程不定时写同一个全局资源,5个线程不定时读同一个全局资源。2、不加锁2.1、不加锁代码#include <stdio.h> //printf对应的头文件#include <unist...

2019-09-15 19:27:07 215

原创 Linux系统编程_课时85_读写锁操作函数

课时85_读写锁操作函数文章目录课时85_读写锁操作函数1、初始化读写锁2、销毁读写锁3、加读锁4、尝试加读锁5、加写锁6、尝试加写锁7、解锁1、初始化读写锁int pthread_rwlock_init( pthread_rwlock_t *restrict rwlock, const pthread_rwlockattr_t *restrict attr);...

2019-09-15 18:55:03 230

原创 Linux系统编程_课时83+84_读写锁的特性+使用场景

课时83+84_读写锁的特性+使用场景文章目录课时83+84_读写锁的特性+使用场景1、读写锁的特性1、读写锁是几把锁2、读写锁的类型3、读写锁的特性2、读写锁的使用场景2.1、线程A加写锁成功,线程B请求读锁2.2、线程A持有读锁,线程B请求写锁2.3、线程A持有读锁,线程B请求读锁2.4、线程A持有读锁,然后线程B请求写锁,然后线程C请求读锁2.5、线程A持有写锁,然后线程B请求读锁,然后线...

2019-09-15 18:41:33 312

原创 Linux系统编程_课时82_互斥锁死锁

课时82_互斥锁死锁1、造成死锁的原因1.1、自己锁自己在锁还没有解锁时,再次加锁。//子线程pthid_p1,操作全局变量numbervoid* pthid_p1_func(void* arg){ for(int i=0;i<COUNT_MAX;++i) { pthread_mutex_lock(&mutex); //访问共享资源(全局变量number)前加锁...

2019-09-15 18:11:16 213

原创 Linux系统编程_课时78_互斥锁实现线程同步

课时78_互斥锁实现线程同步文章目录课时78_互斥锁实现线程同步1、代码示例1、代码示例#include <stdio.h> //printf对应的头文件#include <unistd.h> //usleep对应的头文件#include <pthread.h> //线程对应的头文件//宏定义,每个线程操作全局变量number次数#define ...

2019-09-14 23:09:23 243

原创 Linux系统编程_课时77_互斥锁相关的函数

课时77_互斥锁(互斥量)相关的函数文章目录课时77_互斥锁(互斥量)相关的函数1、创建互斥锁2、互斥锁初始化3、互斥锁加锁4、互斥锁尝试加锁5、互斥锁解锁6、互斥锁释放1、创建互斥锁类似于声明一个变量pthread_mutex_t mutex;2、互斥锁初始化互斥锁初始化函数int pthread_mutex_init( pthread_mutex_t *mutex,...

2019-09-14 22:55:17 341

原创 Linux系统编程_课时75+76_线程同步概念+线程同步思想

课时75+76_线程同步概念+线程同步思想文章目录课时75+76_线程同步概念+线程同步思想1、线程同步的概念1.1、创建两个线程分别操作全局变量1.1、代码示例1.2、执行结果1.3、结果分析1.4、结论:数据混乱2、线程同步的思想1、线程同步的概念两个线程分别对全局变量number做++操作,每个线程对全局变量number做自增操作10000次。预期结果:两个线程都执行完对全局变量nu...

2019-09-14 22:19:13 94

原创 Linux系统编程_课时73_线程相关函数介绍

课时73_线程相关函数介绍文章目录课时73_线程相关函数介绍1、线程分离---pthread_detach1.1、函数原型2、杀死(取消)线程---pthread_cancel2.1、函数原型2.2、使用注意事项2.3、代码示例及执行结果2.4、设置取消点---pthread_testcancel()3、判断两个线程ID是否相等(预留函数)---pthread_equal1、线程分离—pthr...

2019-09-08 23:23:02 111

原创 Linux系统编程_课时72_主线程使用pthread_join回收子线程资源

课时72_主线程使用pthread_join回收子线程资源文章目录课时72_主线程使用pthread_join回收子线程资源1、函数原型2、子线程退出时携带栈信息2.1、代码示例2.2、执行结果:3、子线程退出时携带全局变量信息3.1、代码示例3.2、执行结果:1、函数原型#include <pthread.h>int pthread_join(pthread_t thread...

2019-09-04 00:35:46 156

原创 Linux系统编程_课时71_线程退出函数pthread_exit(void* retval)

课时70_线程退出函数pthread_exit(void* retval)文章目录课时70_线程退出函数pthread_exit(void* retval)1、函数原型:2、主线程使用pthread_exit退出不影响子线程运行2.1、代码示例2.1、执行结果:3、主线程使用exit()退出影响主线程运行3.1、代码示例3.2、执行结果:1、函数原型:void pthread_exit(vo...

2019-09-04 00:06:02 694

原创 Linux系统编程_课时70_线程函数打印错误信息

课时70_线程函数打印错误信息1、pthread_create函数返回值成功,返回0;失败,返回error number;注意与系统中的errno不同,pthread_create函数的error number不能使用perror()函数直接打印错误信息。2、strerror函数获取线程创建失败错误信息#include <stdio.h>#include <unis...

2019-09-03 23:36:11 188

原创 Linux系统编程_课时68_循环创建多个子线程和注意事项

课时68_循环创建多个子线程和注意事项1、打印多个线程序号和线程ID1.1、代码实现#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/stat.h>#include <sys/types.h>#include <string.h...

2019-09-03 23:17:43 191

原创 Linux系统编程_课时67+74_线程创建

课时67_线程创建文章目录课时67_线程创建1、创建线程---pthread_creat函数1.1、函数原型1.2、函数参数1.3、函数返回值1.4、函数使用及注意事项1、创建线程—pthread_creat函数1.1、函数原型int pthread_create( pthread_t* thread, //线程ID,无符号长整形,传出参数 const pthread_...

2019-09-03 01:53:21 128

空空如也

空空如也

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

TA关注的人

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