自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 从类、API、框架三个层面设计可复用软件实体的具体技术

从类、API、框架三个层面设计可复用软件实体的具体技术

2022-06-18 18:22:25 221

原创 熟悉GRASP原则

熟悉GRASP原则

2022-06-18 18:17:23 343

原创 MIT的学习资料(reading部分)锁与同步学习笔记

MIT的学习资料(reading部分)锁与同步学习笔记

2022-06-18 18:06:40 310

原创 浅谈ADT和OOP

ADT以及OOP

2022-06-18 18:02:41 362

转载 递归解题三部曲

递归解题三部曲何为递归?程序反复调用自身即是递归。我自己在刚开始解决递归问题的时候,总是会去纠结这一层函数做了什么,它调用自身后的下一层函数又做了什么…然后就会觉得实现一个递归解法十分复杂,根本就无从下手。相信很多初学者和我一样,这是一个思维误区,一定要走出来。既然递归是一个反复调用自身的过程,这就说明它每一级的功能都是一样的,因此我们只需要关注一级递归的解决过程即可。如上图所示,我们需要关心的主要是以下三点:整个递归的终止条件。一级递归需要做什么?应该返回给上一级的返回值是什么?因此

2022-05-19 15:23:45 537

转载 I/O多路复用

https://blog.csdn.net/baixiaoshi/article/details/48708347https://blog.csdn.net/z69183787/article/details/52943917select,poll,epoll都是IO多路复用的机制。所谓I/O多路复用机制,就是说通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件

2022-04-23 22:15:42 2505

原创 快速排序-C++实现

快速排序简介快速排序是对冒泡排序的一种改进, 它是不稳定的。由C. A. R. Hoare在1962年提出的一种划分交换排序,采用的是分治策略(一般与递归结合使用),以减少排序过程中的比较次数,它的最好情况为O(nlogn),最坏情况为O(n^2),平均时间复杂度为O(nlogn)。基本思想选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以达到全部数据变成有序。

2022-03-19 22:58:13 4920

原创 STL之deque

STL:: deque一. deque简介双端队列deque,与vector的最大差异在于:一、deque运行常数时间对头端或尾端进行元素的插入和删除操作。二、deque没有所谓的容器概念,因为它是动态地以分段连续空间组合而成随时可以增加一块新的内存空间并拼接起来。虽然deque也提供随机访问的迭代器,但它的迭代器与list和vector的不一样,其设计相当复杂而精妙。因此,会对各种运算产生一定影响,厨房必要,尽可能的选择使用vetor而非deque。二. deque核心类别设计(部分)三.

2022-03-16 23:57:45 1807

原创 STL之list容器

STL::list容器一. 什么是list容器list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链表的主要优点,即:在链表的任一位置进行元素的插入、删除操作都是快速的。list的实现大概是这样的:list的每个节点有三个域:前驱元素指针域、数据域和后继元素指针域。前驱元素指针域保存了前驱元素的首地址;数据域则是本节点的数据;后继元素指针域则保存了后继元素的首地址。其实,list和循环链

2022-03-16 23:54:04 161

原创 STL之vector容器

STL::vector容器一. 什么是vectorvector是C++标准模板库中的内容;功能:像容器一样存放各种类型的对象,是一个存放任意类型的动态数组,能够增加和压缩数据;vector是一个类模板而不是一种数据类型,故对它的定义,需要指定类型;优点:当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。C++中vector容器,非常有用推荐频繁使用。二. 数据存储结构vector的扩充机制:按照当前容器的一倍扩充;vector分配一块连续的内存空间,

2022-03-16 11:18:04 1573

原创 Linux一期笔记

LINUX内核:C语言,开源基本操作:cd~(回到家目录)(基本构造:家目录/home/user1)文件类型:普通文件-,目录文件d权限:r w x - chmod u/g/o基本命令:cd touch mkdir pwd ls cp rm mv cat more less head tail vi vim ps(查看当前的进程) kill(结束进程) jobs &文件权限的操作:查看权限(ls -l)管理员:sudo su,

2022-03-08 21:37:43 830

原创 菱形继承(及其深度探讨)

菱形继承(及其深度探讨)普通的多继承代码示例#include<iostream>using namespace std;class object{ int value;public: object(int x = 0):value(x){} }class base:public object{ int num;public: base(int x = 0):num(x),object(x+10){}}class moude:public o

2022-03-08 21:32:41 604

原创 Linux第一阶段复习

1、简述如下目录的功能/boot 与系统内核或启动有关的/etc 存配置文件/lib 存库文件/bin 存命令/home 所有普通用户的家目录/root 管理员的家目录2 写出15个熟悉的linux 命令,并说明其功能答:文件类:cp rm mv(剪切/移动文件/重命名) cat(查看文件内容/合并文件到c.c文件(cat a.c b.c >c.c)) less(文本内容查看器,查看文件内容,但是文件内容不会显示到界面上) more(分屏显示文件内容) tail head vi/

2022-02-24 19:04:36 392

原创 C++(课程)

C++(课程)c与c++的区别(第一节课)区别:函数默认值参数是在编译(编译是针对单文件编译的)的时候入进去的默认值参数只能从右向左依次赋值,不能跳过函数的默认值参数只能赋值一次,不能多次赋值由于函数的默认值是在编译时期代入得,所以函数的默认值参数只在本文件下生效内联函数():无栈帧开辟,直接在调用点编译时期展开(展开的是指令)(DEBUG版本,和正常函数无区别,REALSE版本,调用,函数会在调用点展开)由于内联函数在编译时期展开,编译时期无法获取变量值,因此递归函数无

2022-02-24 18:51:53 828

原创 C语言疑难点总结(未完待续)

C语言复习点:.data区域存放的是全局变量和静态变量,在预编译时期分配内存空间,运行时初始化为0记住前四个优先级:’()’,’[]’,’->’,’.’;四个X86 32系统,不管指针是什么类型,指针变量都是占用4个字节的内存指针的类型决定了指针的偏移量数组名取地址就是数组的指针类型int arr[5] = {0,1,2,3,4};int *p = NULL;p = arr;printf("%d",*(p+2));p = (int*)(&a+1)

2022-02-24 18:41:25 453

原创 JSP语法笔记

JSP本质:就是servlet,JSP主要负责与用户交互,将最终的界面呈现给用户,HTML+JS+CSS+JAVA的混合文件当服务器接收到后缀是JSP请求时候,将该请求交给JSP引擎去处理,每个JSP页面第一次被访问的时候,JSP引擎会将它翻译成一个Servlet文件,再由Web容器调用Servlet完成响应单纯开发角度看:JSP就是在HTML中嵌入JAVA程序嵌入方式:JSP脚本<%JAVA代码%>JSP表达式:将JAVA数值输出到HTML页面&lt

2022-01-12 16:18:26 103

原创 HTML笔记

HTML笔记基本标签标题标签<h1>一级标签</h1><h1>二级标签</h1>...段落标签<p>用来分段的</p>换行标签<hr><!--换行标签,文字行距会很紧凑-->水平先标签<hr/>文字标签<strong>字体加粗</strong><em>文字斜体</em>特殊符

2022-01-12 16:17:58 183

原创 MySQL多表&事务

今日内容1. 多表查询2. 事务3. DCL多表查询:* 查询语法: select 列名列表 from 表名列表 where....* 准备sql # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) ); INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部'); # 创建员工表 CREATE TAB

2022-01-12 16:17:09 132

原创 MySQL约束

今日内容1. DQL:查询语句 1. 排序查询 2. 聚合函数 3. 分组查询 4. 分页查询2. 约束3. 多表之间的关系4. 范式5. 数据库的备份和还原DQL:查询语句1. 排序查询 * 语法:order by 子句 * order by 排序字段1 排序方式1 , 排序字段2 排序方式2... * 排序方式: * ASC:升序,默认的。 * DESC:降序。 * 注意: * 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。2.

2022-01-12 16:16:15 105

原创 MySQL基础语法

今日内容数据库的基本概念MySQL数据库软件安装卸载配置SQL数据库的基本概念1. 数据库的英文单词: DataBase 简称 : DB2. 什么数据库? * 用于存储和管理数据的仓库。3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQL​ 4. 常见的数据库软件* 参见《MySQL基础.pdf》MySQL数据库软件图示:[外链图片转存失败,源站可能有

2022-01-12 16:12:30 91

原创 C语言最常见的线性结构---数组

C语言最常见的线性结构—数组数组详解数组定义:有序数据的集合,用数组名作为标识数组性质:数组是由一些列相同数据类型组成的线性集合数组组成:标识符、类型名、维数。其中,维数指定数组中的元素个数。数组优缺点:1)与vector类型相比,数组缺陷在于:数组的长度是固定的,不能知晓数组的长度。同时没有size和push_back操作。如果要更改长度,则要创建更大的新数组,再复制原数组的所有元素。注:vector是C++中的STL容器的一个容器分支,属于动态数组内容2)数组是被严格限制

2021-07-11 20:10:06 1010

C++实现通讯录管理系统小项目

C++初学者,C++课程设计

2022-01-12

空空如也

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

TA关注的人

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