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

STL中map/vector的删除元素操作

在我们使用C++中的STL的时候,可以使用迭代器iterator进行遍历,但是当我们通过iterator对vector和map删除元素的时候,要格外的小心,往往操作不当,导致iterator失效,后果就是程序奔溃。      1. 对于vector,erase会返回下一个iterator。所以一般...

2017-04-07 23:37:45

阅读数:647

评论数:0

C++类的静态变量的初始化

C++类的静态变量 注意事项: 1.类的静态变量首先是存在于任何对象之外,它不属于任何一个类,所以对象中不包含任何与静态数据成员有关的数据。 2.静态成员函数不与任何对象绑定在一起,它们不包含this指针。 使用静态变量: 1. 使用作用域运算符直接访问静态成员; 2. 类的对象、引用和指...

2017-01-15 12:36:34

阅读数:281

评论数:0

Enterprise Architect初步入门

使用Enterprise Architect画UML类图

2017-01-15 11:49:31

阅读数:4943

评论数:5

C++安全函数之strcat_s

C++安全函数之strcat_s 1.必须包含的头文件: 2.函数申明: errno_t strcat_s( char *strDestination, size_t numberOfElements, const char *strSource );3.参数介绍 st...

2016-09-16 09:31:44

阅读数:3798

评论数:0

C++安全函数之strcpy_s

C++安全函数之strcpy_s 1.  必须包含的头文件: 2.  函数声明: errno_t strcat_s( char *strDestination, size_t numberOfElements, const char *strSource ); ...

2016-09-16 09:11:46

阅读数:7047

评论数:1

C++之重写String类

C++之重写String类        有时候听完课程,不一定就能够领悟,所以还是要多加练习,今天在听了老师讲的C++关于类的构造函数,默认构造函数,类的拷贝函数(浅拷贝/深拷贝),类的析构函数,以及运算符的重载。感觉在课堂是听懂了,但是在自己编码的过程中还是遇到了很多的困难,但strcpy_...

2016-09-16 08:25:48

阅读数:1487

评论数:0

探讨C++中对象的“浅拷贝”与“深拷贝”

C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制: (1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:

2016-09-15 23:50:44

阅读数:162

评论数:0

【C Primer Plus 第六版】笔记

1.  使用const 代替 #define 定义常量 原因:(1)const 声明显示指明了类型;(2)const可以很方便的用于复合类型,比如是数组等;(3)作用域规则,const可以创建为全局,名称空间以及数据块的常量。 2. 使用inline而不是#define 来定义小型函数 3. 头文...

2016-09-15 21:25:08

阅读数:1170

评论数:0

namespace在大型项目中的使用

命名空间namespace      namesapce命名空间是在大型项目开发中,为了避免命名冲突而引入的一种机制,比如说,在一个大型项目中,要用到多家软件开发商提供的类库。在事先没有约定的情况下,两套类库可能存在同名的函数或者是全局变量而产生冲突。项目越大,用到的类库越多,开发人员越多,这样的...

2016-09-15 19:28:54

阅读数:647

评论数:0

C语言之memset函数的使用

转自:老生常谈,正确使用memset 本文归纳了下使用memset几个需要注意的地方,虽然内容很简单,但也希望对大家有所帮助。 1. memset是以字节为单位,初始化内存块。 当初始化一个字节单位的数组时,可以用memset把每个数组单元初始化成任何你想要的值,比如: char da...

2016-08-28 22:10:44

阅读数:1971

评论数:0

【排序算法】计数排序

转载来自:计数排序之Java实现 计数排序算法介绍 比较排序算法可以通过决策树模型证明,其下线是O(nlgn)。而本文介绍的是时间效率为O(n)的计数排序。所谓排序算法,无非就是把正确的元素放到正确的位置,计数排序就是计算相同key的元素各有多少个,然后根据出现的次数累加而获得最终...

2015-09-19 22:02:36

阅读数:399

评论数:0

【排序算法】总结

转载来自于:九大排序算法再总结 排序的定义: 输入:n个数:a1,a2,a3,...,an 输出:n个数的排列:a1',a2',a3',...,an',使得a1' In-place sort(不占用额外内存或占用常数的内存):插入排序、选择排序、冒泡排序、堆排序、快速排序。 Out-plac...

2015-09-19 15:50:46

阅读数:275

评论数:0

【排序算法】希尔排序

希尔排序--不需要大量的辅助空间,和归并排序一样容易实现。希尔排序是基于插入排序的一种算法, 在此算法基础之上增加了一个新的特性,提高了效率。     先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取...

2015-09-19 09:56:12

阅读数:434

评论数:0

【排序算法】冒泡排序

冒泡排序算法的运作如下:(从后往前)  比较相邻的元素。如果第一个比第二个大,就交换他们两个。  对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上...

2015-09-19 09:48:05

阅读数:362

评论数:0

【算法分析】寻找多数元素

解决问题:在一个整数序列A中,如果整数r在A中出现的次数大于序列A的一半,那么我们把这个r成为多数元素。如何更快的找出这个元素呢?

2015-09-08 15:13:17

阅读数:1885

评论数:0

【数据结构】图

转载来自:数据结构之图 一、基本术语 图:由有穷、非空点集和边集合组成,简写成G(V,E); Vertex:图中的顶点; 无向图:图中每条边都没有方向; 有向图:图中每条边都有方向; 无向边:边是没有方向的,写为(a,b) 有向边:边是有方向的,写为 有...

2015-09-04 15:43:54

阅读数:296

评论数:0

【数据结构】图的遍历

转载来自:深度优先搜索与广度优先搜索

2015-09-03 22:58:04

阅读数:313

评论数:0

【排序算法】堆排序

package sort.algorithm.heap; public class Heap { // 堆排序,它组合了归并排序的时间效率和快速排序的控件效率。和归并排序一样,堆排序 // 的最差情况运行时间为O(nlogn),和快速排序一样它不需要额外的数组 public stati...

2015-08-28 09:43:17

阅读数:318

评论数:0

【排序算法】快速排序

package sort.algorithm.quick; public class Quick { // 快速排序的最坏情况运行时间是O(n^2),但快速排序的平均情况运行时间和最好情况运行时间都是O(nlogn) public static void quicksort(int[] da...

2015-08-28 09:41:39

阅读数:221

评论数:0

【排序算法】归并排序

package sort.algorithm.merg; public class Merg { // 归并算法--划分解决排序 // 归并排序的最坏情况运行时间、平均情况运行时间以及最好情况运行时间都是O(nlogn) // 归并排序的最坏情况运行时间是O(nlogn),而快速排序的最坏...

2015-08-28 09:38:43

阅读数:254

评论数:0

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