自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常见排序算法,自己记录

直接贴代码片:#include<iostream>#include<vector>#include<stdlib.h>#include<stack>#include <algorithm>using namespace std;// 冒泡排序void BubbleSort(int* a,int n){ int end = n; int exchange = 0; while(end)//end作为每趟排序的终止条件

2021-08-30 22:39:06 113

原创 VS code 中配置leetcode插件

原因优雅安装插件环境安装该插件需要用户本地拥有Node.js 8+运行环境。读者可以通过在命令行中输入node -v查看。没有的话,官网首页这里下载:按步骤安装,自己选择修改路径,安装好后在环境变量里添加PATH路径,检测PATH环境变量是否配置了Node.js,命令行输入命令"path",输出如下就可,说明环境变量中已经包含了D:\node.js:登录回到VS code,左边力扣小图标点一下,上面的小地球点一下,根据自己账号,我选择的是中文版。(插件默认激活英文版)再点击入口

2021-08-26 16:36:43 440

转载 正则表达式(入门)

正则表达式(regular expression)引言正则表达式用于帮助匹配指定规则的字符串,应用在许多场景中,如编译器中的词法分析器,会使用正则表达式去匹配关键字;网站上的注册表单会使用正则去判断密码复杂程度;在爬虫中同样可以使用正则表达式提取需要的信息等等。测试正则表达式工具1、编辑器内置的搜索工具,如vs code搜索框中使用正则搜索字符串,如下图:2、自己熟悉的编程语言中调用函数测试3、在线测试工具 http://regex101.com输入正则后匹配的文本会以高亮的形式显现概念

2021-08-23 01:11:55 383

原创 Linux下C语言实现TCP多线程聊天室

项目环境:系统 ubuntu12.04 LTS,开发工具 GCC4.6.3项目需求:1、客户端可以注册名字2、通知其余在线的客户端新用户进入聊天室3、新建一个线程服务客户端,随时接收客户端发送来的消息4、当接收到一个客户端的消息,服务端向每一个客户端转发一份(群聊)5、同时在线人数自行设置6、任何客户端可以随意随时进入或退出客户端代码上传:github(两个版本)chat_ver1:版本一chat_ver2:版本二实现效果(版本一):定义了信号量限制客户端登录数量。ifconf

2021-08-21 02:48:17 1641 6

原创 企业信息管理系统(C++)

企业信息管理系统(C++实现)1、需求分析1.1总体需求1.2管理需求1.3业务需求1、需求分析1.1总体需求企业管理信息系统主要用于实现对企业基本信息的管理。具体包括对企业部门的管理、对企业员工的管理,以及对管理信息系统本身的管理。(对管理信息系统本身的管理主要是指对管理员的管理,这方面的需求可被归纳为管理需求,而对企业部门和员工的管理则被归纳为业务需求。)1.2管理需求1、增加管理员:根据屏幕提示依次输入管理员的用户名和密码,系统自动为其分配ID号,并向用户提供反馈信息。2、删除管理员:

2021-08-13 01:52:17 1363

转载 理解Linux软链接与硬链接(转载)

硬链接与软链接的联系与区别我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息。在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通

2020-11-11 19:22:23 91

原创 计算机网络

一、计算机网络基础知识1.什么是计算机网络把分布在不同地理位置的计算机与专门的网络设备用通信线路互相连成一个规模大、功能强的系统,从而使众多计算机可以方便地互相传递信息、共享软件、硬件、数据信息等。  计算机网络就是由通信线路互相连接的许多自主工作的计算机构成的的集合,它是计算机技术和通信技术相结合的产物。2.计算机网络的功能数据通信、资源共享、提高系统的可靠性、分布式网络处理和负载均衡。3.计算机网络的组成•1、通信子网 ◦网卡:网络接口卡或网络适配器、它负责将数据发送网络中去,也负责从网络

2020-10-17 02:00:33 215

原创 Linux环境编程(9)线程内容补充及死锁相关内容

一、基本概念竞争与同步:同一个进程中的线程能共享进程中的绝大多数资源,当它们随意竞争时可以导致资源会破坏、脏数据、不完整、不一致等问题。通过一些方法让进程在竞争资源时相互协调,避免出现数据不完全、不一致等问题,这就叫线程同步。临界区与临界资源:被多个线程同时访问的代码叫临界区,被同时访问的资源叫临界资源。原子操作:中间不会打断的操作叫原子操作。二、互斥量(互斥锁)pthread_mutex_t 是一种数据类型,可以定义变量。int pthread_mutex_init(pthread_

2020-10-16 16:54:38 72

原创 Linux环境编程(8)线程相关内容

一、基本概念1、线程就是进程的进程路线,它是进程内部的控制序列,或者说它是进程的一部分(进程是一个资源单位,线程是的一部分负责真正的执行)。2、线程是轻量级的,没有自己独立的代码段、数据段、bss段、堆、环境变量、命令行参数、文件描述符、信号处理函数、当前目录等资源。3、线程有自己独立的栈内存、线程ID、错误码、信号掩码等。4、一个进程中可以包含多个线程(多个执行路线),但至少有一个,这个线程要主线程,默认情况下主线程结束其它线程会跟着一起结束。5、ps -T -p 或者使用htop命令查看线程

2020-10-16 15:50:45 51

原创 Linux环境编程(8)套接字及TCP/UDP相关内容

一、套接字基本特点:socket是一种接口技术,被抽象成一个文件操作,可以让进程之间通信,也可以让不同计算机的进程通信(网络)。int socket(int domain, int type, int protocol);功能:创建套接字domain: AF_UNIX/AF_LOCAL 本地通信,进程间通信 AF_INET 基于IPv4地址通信 AF_INET6 基于IPv6地址通信type: SOCK_STREAM 数据流协议 SOCK_DGRAM 数

2020-10-16 15:25:07 87 1

原创 Linux环境变量(7)进程间通信相关内容

基本概念:什么是进程间通信:是指两个或多个进程之间交互数据的过程,因为进程之间是相互独立,为了协同工作必须交互数据。进程间通信的分类:简单的进程间通信:信号、文件、环境变量、命令行参数。传统的进程间通信:管道文件(有名管道、匿名管道)XSI进程间通信:共享内存、消息队列、信号量。网络进程间通信:套接字传统进程间通-管道管道是UNIX系统中最古老的进程间通信方式,古老就意味着所有系统都支持,早期的管道都是半双工,现在有些系统的管道是全双工(但要假定系统仅支持半双工)。管道是一种特殊的文件,它

2020-10-16 13:16:09 192

原创 Linux环境编程(5)信号相关内容

基本概念1、中断当程序接收消息后中止当前正在执行的程序,转而执行其它任务,等其它任务执行完成后再返回,这种执行模式叫中断,分为硬件中断和软件中断。2、信号是一种软件中断,由操作系统发出,程序接收后会执行相应的操作。3、常见信号 kill -l 显示所有信号 SIGINT Ctrl+c 终止 SIGQUIT Ctrl+\ 终止+core SIGFPE 除0 终止+core SIGSEGV 非常内存访问 终止+core

2020-10-16 11:06:23 70

原创 Linux环境编程(6)进程管理相关内容

进程基本概念:1、进程与程序程序就是存储在磁盘上的可执行文件,程序被加载到内存中开始运行叫进程。一个程序可以被多次加载生成多个进程,进程就是处于活动状态的计算机程序。2、进程的分类进程一般分为三种类型:交互进程、批处理进程、守护进程。守护进程一般都处于活跃状态,运行在后台,由于系统在开机时通过启动脚本自动创建的。3、查看进程简单形式:ps 显示当前用户有控制终端的进程信息。列表形式:ps auxw 显示进程详细信息a 所有用户的有控制终端的进程x 无终端控制的进程u 显示进程的详细信.

2020-10-06 16:52:31 68

原创 Linux环境编程(4)文件操作相关内容补充

Linux环境编程(4)文件同步:1、在写入数据时内存与磁盘之间也有一个缓冲区,这种机制降低了磁盘读写次数,提高了读写的效率。2、但这种机制带来的后果就是磁盘中的数据与实写入的数据不匹配,系统提供了一个函数可以让缓冲区中的数据立即写入到磁盘。void sync(void);功能:把缓冲区中的数据同步到磁盘注意:并不等到数据同步完成后才返回,而是把缓冲区的数据加入到写入队列。int fsync(int fd);功能:把指定文件的内容从缓冲区同步到磁盘注意:会等到完全定稿磁盘才返回int

2020-10-05 21:14:16 65

原创 Linux环境编程(3)系统调用和文件操作相关内容

系统调用:系统调用就是操作系统提供的一些功能供程序员们调用,这些调用已经被封装成了C函数的形式,但是它们不是标准C的一部分。一般应用程序运行在用户态(使用的是0 ~ 3G的内存),系统调用工作在内存态(使用的是3 ~ 4G的内存)。常用的标准库函数大部分时间运行在用户态,底层偶尔也会调用系统调用进入内核态。系统调用的代码是内核的一部分,其外部接口以函数定义共享库中(linux-gate.so,ld-linux.so),这些接口的实现利用软中断进入内核态执行真正的系统调用。time a.out 测试

2020-09-08 14:12:27 150

原创 Linux环境编程(2)内存管理相关内容

一、内存管理用户层 :STL 自动分配/释放内存 调用C++C++ new/delete 调用CC malloc/free 调用POSIXPOSIX brk/sbrk 调用LinuxLinux mmap/munmap 调用内核系统层:kernal kmalloc/vmalloc 调用驱动driver get_free_page二、进程映像程序是存储在磁盘上的可执行文件,当执行程序时,系统会将可执行文件加

2020-09-08 11:40:00 76

原创 Linux环境编程(1)GNU编译器相关内容

UNIX系统介绍:最早版于1970年问世于贝尔实验室,作者是丹尼斯.里奇和肯.汤普逊。是最早的多用户、多任务、支持多种CPU架构,高安全性、高稳定性、高可靠性。既能构架大型关键性业务系统的商用服务器,也能支持嵌入式设备。MiniX基于微内核加载的类UNIX系统,名为MINIX(即小型的UNIX),并开放全部源代码给大学教学和研究工作,Linux之父林纳克斯,正是在受了MiniX的启发,才开发了Linux系统。Linux系统介绍:Linux,全称GNU/Linux,其内核由林纳斯·托瓦兹于1991

2020-09-08 10:46:59 82

原创 基础算法简介

算法算法定义:算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。特性输入: 算法具有0个或多个输入输出: 算法至少有1个或多个输出有穷性: 算法在有限的步骤之后会自动结束而不会无

2020-08-21 18:51:24 272

原创 Achievement-management-system成绩管理系统项目记录

项目过程记录:学生成绩管理系统学生成绩管理系统功能要求:学生:姓名 性别 学号 密码 语文 数学 英语1、第一次登录强制修改密码。2、查询成绩排名 不显示姓名和学号。平均分最高分最低分3、修改密码4、查看个人信息5、三次密码错误锁定帐号,由教师解锁教师:姓名 性别 工号 密码1、第一次登录强制修改密码。2、添加学生(学生的学号自动生成)单个添加批量导入3、删除学生输入两人次学号确定删除的学生要记录保存在已退学的文件中4、查找学生按姓名查找按学号查找5、修改学

2020-07-30 20:44:59 464

原创 Linux基础教学记录

Linux基础day1开发环境:VirtualBox 虚拟机(开源免费)ubuntu12.04 LTSvim 代码编辑器gcc 编译Linux系统介绍:BCPL->newB->C->UNIX->Minix->LinuxLinux管理硬盘的能力非常强,所以我们看到的只有一个分区。目录名称及作用:/ 根目录,所有文件都存储在它下面/bin 存储着系统命令/dev 设备文件(一切皆文件)/home 用户主目录,会自动生成用户同名目录/lib64 存储着64

2020-07-07 20:46:33 88

空空如也

空空如也

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

TA关注的人

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