排序:
默认
按更新时间
按访问量

两个队列实现一个栈

代码实现: #include <iostream> #include <queue> using namespace std; class MyStack { public: void push(int...

2018-09-06 15:54:48

阅读数:9

评论数:0

实现统计字符串中第一个空字符前面的字符长度——递归

举例: char buf[] = { 'a', 'b', 'c', 'd', 'e', 'f', '\0', 'x', 'y', 'z' }; 字符串buf,当输入n=10或者20时,期待输出结果为6; 当输入n=3或者5时,期待输出结果为3或者5。   代码实现: #includ...

2018-08-20 12:04:14

阅读数:22

评论数:0

快速排序

代码实现: #include <iostream> using namespace std; //快速排序 void QuickSort(int *arr, int len, int left, int right) { int i, j, t,...

2018-08-19 19:35:44

阅读数:21

评论数:0

STL不同容器的优缺点

一、容器的分类 1、序列容器 (1)vector 典型的序列容器,任意元素的读取、修改具有O(1),在序列尾部进行插入、删除是O(1),但在序列的头部插入、删除的时间复杂度是O(n),可以在任何位置插入新元素,有随机访问功能,插入删除操作需要考虑。 (2)deque 序列容器,内存也是连续的,和...

2018-07-29 18:41:10

阅读数:38

评论数:0

指针和引用的区别

 问题:指针与引用的区别? 1.非空区别        在任何情况下都不能使用指向空值的引用,一个引用必须总是指向某些对象(引用必须初始化)。因此如果你使用一个变量并让它指向一个对象,但是该变量在有些时候也可能不指向任何对象,这时你就应该把变量声明为指针,因为这样你就可以赋空值给该变量。相反,...

2018-07-20 10:36:21

阅读数:35

评论数:0

new/delete和malloc/free的区别

1、属性new/delete 是关键字malloc/free是库函数2、参数(是否需要指定内存大小)new动态申请内存时,不需要指定内存块的大小int *p = new int;mallo动态申请内存时,需要显示指定内存的大小int *p = (int*)malloc(sizeof(int));3...

2018-07-15 16:59:49

阅读数:29

评论数:0

typedef和#define的区别

先说一下两者的概念1、#define预处理阶段进行简单的字符串替换,没有安全性检查2、typedef在自己的作用域内给一个已经存在的类型一个别名,编译阶段。两者的区别(1)执行时间不同#define在预处理(预编译)阶段,进行替换工作typedef在编译阶段,会进行类型检查(2)作用域不同#def...

2018-06-21 17:34:31

阅读数:28

评论数:0

gcc和g++的区别

首先,gcc和g++都是GNU(组织)的一个编译器。1、后缀为.c的文件,gcc会把它当做C程序,g++会当做C++程序;     后缀为.cpp的文件,gcc和g++都会当做C++程序。2、编译阶段:g++会调用gcc程序3、链接阶段:由于gcc命令自动和C++程序使用的库链接,所以通常用g++...

2018-06-19 16:25:36

阅读数:59

评论数:0

MySQL——事务

一、什么是事务? 事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返回到事物开始以前的状态;如果单元中的所有SQL语句均执行成功,则...

2018-06-11 19:55:21

阅读数:75

评论数:0

MySQL——索引详解

MySQL索引的概念索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。在没有索引的情况下,数据库会遍历全部200条数据后选择符合条件的;而有了相应的索引之后,数据库...

2018-06-11 10:02:43

阅读数:39

评论数:0

MySQL中MyISAM和InnoDB的区别

1、 存储结构MyISAM:每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩   展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。InnoDB:所有的表都保存在同一个数据文件中(也可能...

2018-06-11 09:18:43

阅读数:37

评论数:0

TCP状态转移详解

在看TCP状态转移图之前,我们先来看一下三次握手和四次挥手画了一个比较简陋的图1、建立连接协议(三次握手) (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。 (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示...

2018-06-05 18:00:25

阅读数:41

评论数:0

MySQL——四种常用的存储引擎

MySQL——四种常用的存储引擎数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以 获得特定的功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。M...

2018-06-05 16:34:13

阅读数:215

评论数:1

关于MySQL数据库的学习(一)

一、什么是数据库?答:数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。      简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。    其实就是文件的集合。二、SQL语言的分类1、数据...

2018-05-22 19:20:13

阅读数:59

评论数:0

SQL语言的组成分为哪几个部分

 详细来讲,可以分为六个部分一:数据查询语言(DQL:Data Query Language):  其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GR...

2018-05-22 18:55:40

阅读数:466

评论数:0

C++ STL函数绑定器

代码示例:#include <iostream> #include <map> #include <vector> #include <algo...

2018-05-10 17:40:47

阅读数:89

评论数:0

C++STL 空间配置器allocator

先来介绍一下STL的六大组件1. 空间配置器:内存池实现小块内存分配,对应到设计模式--单例模式(工具类,提供服务,一个程序只需要一个空间配置器即可),享元模式(小块内存统一由内存池进行管理)2.迭代器:迭代器模式,模板方法3.容器:STL的核心之一,其他组件围绕容器进行工作:迭代器提供访问方式,...

2018-05-10 17:18:02

阅读数:60

评论数:0

C++ 设计模式之观察者模式

C++ 设计模式之观察者模式Observer 模式应该可以说是应用最多、影响最广的模式之一,因为 Observer 的一个实例 Model/View/Control(MVC) 结构在系统开发架构设计中有着很重要的地位和意义, MVC实现了业务逻辑和表示层的解耦。 个人也认为 Observer 模式...

2018-05-10 16:43:20

阅读数:38

评论数:0

C++智能指针之shared_ptr

shared_ptr 是为了解决 auto_ptr 在对象所有权上的局限性(auto_ptr 是独占的), 在使用引用计数的机制上提供了可以共享所有权的智能指针, 当然这需要额外的开销:  (1) shared_ptr 对象除了包括一个所拥有对象的指针外, 还必须包括一个引用计数代理对象的指针。 ...

2018-04-24 18:32:19

阅读数:54

评论数:0

C++ 设计模式之抽象工厂模式

1、问题假设我们要开发一款游戏, 当然为了吸引更多的人玩, 游戏难度不能太大(让大家都没有信心了, 估计游戏也就没有前途了),但是也不能太简单(没有挑战性也不符合玩家的心理)。于是我们就可以采用这样一种处理策略: 为游戏设立等级,初级、中级、高级甚至有BT 级。假设也是过关的游戏, 每个关卡都有一...

2018-04-14 18:56:03

阅读数:40

评论数:0

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