![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
本科学习杂烩
文章平均质量分 92
C++、设计模式
<-->
gitlijian.cn
展开
-
2021-08-20 图 排序算法复习
图 排序算法复习 冒泡排序 void bubbleSort1(vector<int> &v) { // 因为n-1个元素排好序了,第n个元素自然就排好序了 for (int i = 0; i < v.size() - 1; i++) { // 每次都确定一个最大的元素 for (int j = 0; j < v.size() - i - 1; j++)原创 2021-08-20 10:12:48 · 264 阅读 · 0 评论 -
王道操作系统整理
操作系统概述: 操作系统:控制和管理整个计算机系统硬件和软件资源,并合理组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。 并发:指两个或多个事件在同一时间间隔内发生。 引入进程的目的是使程序能并发执行。操作系统的并发性是通过分时实现的。 共享(资源共享):指系统中的资源可供内存中多个并发执行的进程共同使用。 并发和共享是操作系统两个最基本的特征。 虚拟;指把一个逻辑实体变成多个逻辑上的对应物。 异步:在多道程序环境下,允许多个程序并发...原创 2020-07-21 09:34:59 · 1114 阅读 · 1 评论 -
王道计算机网络知识点整理
物理层的中继系统:中继器、集线器(Hub) 数据链路层中继系统:网桥或交换机 网络层中继系统:路由器 网络层以上的中继系统:网关 计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 计算机网络最基本和最重要的功能是数据通信。 发送时延=分组长度/信道宽度 传播时延=信道长度/电磁波在信道上的传播速率 总时延=发送时延+传播时延+处理时延+排队时延 时延带宽积=传播时延*信道带宽 ...原创 2020-07-21 09:33:39 · 2629 阅读 · 0 评论 -
王道数据结构知识点整理
线性表的顺序存储顺序表部分算法(注:以下算法注意鲁棒性和有效性的判断)画图很重要!!! //将顺序表的所有元素逆置,空间复杂度为O(1) { i<n/2 a[i]=a[n-i-1] //交换这两个存储空间中的元素值 } //删除顺序表中所有值为x的元素 { int k=0; //记录不等于x的元素个数 for(i=0;i<n;i++) if(a[i]!=k){ a[k]=a[i]; k++; //不等于x的元素增1 } n=k; //...原创 2020-07-21 09:30:06 · 2648 阅读 · 0 评论 -
CISC和早期Risc的区别
原创 2020-05-20 09:58:46 · 140 阅读 · 0 评论 -
reciteword.py
#/bin/usr/python # -*- coding=utf-8 -*- import random #定义英文列表和中文列表 englishList=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday','January','February','March','April','May','Jun...原创 2020-02-24 23:16:18 · 186 阅读 · 1 评论 -
设计模式复习
每种模式的起源是什么?解决什么问题? 工厂模式: 简单工厂模式包含如下角色: Factory工厂角色: Product抽象产品角色 Concreate Product具体产品角色 使用场景: 场景:主要用于创建对象。添加类时,不会影响以前的系统代码。核心思想是用一个工厂来根据输入的条件产生不同的类,然后根据不同的virtual函数得到不同的结果。 优点:适用于不同情况创原创 2017-06-01 22:36:03 · 576 阅读 · 0 评论 -
解决多线程编程中的同步互斥问题
一、解决多线程编程中的同步互斥问题, 1、可以使用关键段CRITICAL_SECTIONI来解决。 2、关键段CRITICAL_SECTION一共有四个函数,分为初始化,销毁,进入关键区域、离开关键区域。(关键段一般用CS代替) (1)、初始化关键段函数: void InitializeCriticalSection(LPCRITICAL_SECTION lpCritic原创 2016-12-03 11:54:39 · 3698 阅读 · 0 评论 -
生产者消费者问题
//1生产者 1消费者 1缓冲区 //使用二个事件,一个表示缓冲区空,一个表示缓冲区满。 //再使用一个关键段来控制缓冲区的访问 #include <stdio.h> #include <process.h> #include <windows.h> //设置控制台输出颜色 BOOL SetConsoleColor(WORD wAttributes) { HANDLE hConsole =原创 2016-12-03 16:22:19 · 255 阅读 · 1 评论 -
1生产者 10消费者 3缓冲区
这段代码是参考博文http://blog.csdn.net/morewindows/article/details/7577591,但是发现了其中一个小小的bug,当其中一个线程结束while循环的时候,其他线程并没有结束while循环,仍然会从缓冲区中取数据,这就造成了一个缓冲区明明没有数据了,其他线程还来取数据。 解决办法是定义全局变量: volatile bool tellOtherCon原创 2016-12-03 17:32:52 · 686 阅读 · 0 评论 -
搞笑C++复习笔记
高质量软件开发 笔记2 static相当于是类所有对象的一块共用存储区 主要内容: • 掌握函数使用堆栈的原理、作用 • 掌握函数参数的使用规则、含义、实例 • 理解不定参数函数的使用方法和原理 • 掌握回调函数的原理与作用 I.内存分配: • 从静态存储区域分配 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存原创 2017-05-22 09:35:55 · 474 阅读 · 0 评论 -
访问数据库的技术
•ODBC(OpenDatabase Connectivity) –开放数据库互连(ODBC)是MICROSOFT提出的数据库访问接口标准。开放数据库互连定义了访问数据库的API一个规范,这些API独立于不同厂商的DBMS,也独立于具体的编程语言 – •MFC ODBC –VisualC++的MFC类库定义了几个数据库类,在利用MFC编程时常常用到,它们是CDatabase(数据库类)、原创 2017-05-30 20:36:00 · 226 阅读 · 0 评论 -
面向对象设计模式的原则与分类
单一职责原则,以前在写代码的时候,就直接上一个类拥有了多个不相关的操作,学了单一职责原则,就知道了每个类的功能应该单一,因为在使用的时候,我们是通过相应类的对象来调用这些方法的,遵循单一职责原则后,使用时就相对简单了。然后是开闭原则,像简单工厂模式的switch语句就不遵守这个规则,于是后来又学了抽象工厂模式,将每一种情况都另外建一个类,再建立一个工厂类去创建它。这样就有效的解决了开放封闭原则。“原创 2017-05-22 09:32:51 · 368 阅读 · 0 评论