2016年9月6日
摘要: 数组A[N] 算法思想: 1.找出序列中最大的数Max,则序列的范围为0-k; 2.计算每个数出现的次数,用临时数组temp[Max+5]保存(遍历数组,temp[a[i]]++),注:要确保temp的长度>A的长度 3.计算<=i的元素的个数,0-Max都计算一遍 4.根据上一步可以确定<=a[i 阅读全文
posted @ 2016-09-06 19:47 小菜鸡y 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 1.插入排序 1 void InsertSort(int a[], int n) 2 { 3 int temp, i, j; 4 for (i = 1; i < n; i++) 5 { 6 if (a[i] < a[i - 1]) 7 { 8 temp = a[i]; 9 for (j = i - 阅读全文
posted @ 2016-09-06 15:52 小菜鸡y 阅读(297) 评论(0) 推荐(0) 编辑
  2016年6月17日
摘要: final 有时我们会定义这样一种类,我们不希望其他类继承它,或者不想考虑它是否适合作为一个基类。为了实现这一目的,c++ 11新标准提供了一种防止继承发生的方法,即在类名后跟一个关键字final: 此外,final还可以修饰类中的虚函数,表示类成员函数不可以在派生类中进行覆盖 override 对 阅读全文
posted @ 2016-06-17 17:05 小菜鸡y 阅读(156) 评论(0) 推荐(0) 编辑
  2016年6月3日
摘要: 类的const成员包括const数据成员和const成员函数; 1.const数据成员: 和普通的const变量一样,定义时初始化,且不能修改 2.const成员函数: const成员函数只能访问其他的const成员函数,而不能访问非const成员函数 const可以修饰static数据成员,在定义 阅读全文
posted @ 2016-06-03 21:11 小菜鸡y 阅读(748) 评论(0) 推荐(0) 编辑
摘要: 1.mutable 在C++中,mutable是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中,甚至结构体变量或者类对象为const,其mutable成员也可以被修改。mutable在类中只能够修饰非静态数据成员。 我们知道,如果类的成 阅读全文
posted @ 2016-06-03 16:28 小菜鸡y 阅读(414) 评论(0) 推荐(0) 编辑
  2016年6月2日
摘要: 1.函数指针的使用 2.函数指针定义的几种形式 定义指向int fun(int a,int b)的函数指针 1)直接定义: int (*p)(int,int); p=fun; //或p=&fun 2)使用typedef定义类型别名: //p1,p2是函数指针类型 typedef int (*p1)( 阅读全文
posted @ 2016-06-02 23:43 小菜鸡y 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 首先,数组不能被拷贝,所以函数不能返回数组,但可以返回数组的指针或引用,返回数组的指针有一下几种方式: 1.使用类型别名 2.直接定义 3.使用auto 4.使用decltype 阅读全文
posted @ 2016-06-02 20:17 小菜鸡y 阅读(3370) 评论(1) 推荐(0) 编辑
摘要: auto 1.编译器通过分析表达式的类型来确定变量的类型,所以auto定义的变量必须有初始值。 2.auto可以在一条语句中声明多个变量,但该语句中所有变量的初始值类型必须有一样。 3.auto会忽略掉顶层const,同时底层const则会保留下来 如果希望auto类型是一个顶层const ,需要明 阅读全文
posted @ 2016-06-02 11:33 小菜鸡y 阅读(597) 评论(0) 推荐(0) 编辑
  2016年5月31日
摘要: 1.顶层const和底层const const修饰的对象本身是常量,则为顶层const,否则为底层const 如: const int a=10; //a是int常量,顶层const int *const b=nullptr; //b为指向int 类型的常量指针,顶层const const int 阅读全文
posted @ 2016-05-31 20:52 小菜鸡y 阅读(233) 评论(0) 推荐(0) 编辑
  2016年5月20日
摘要: c++11中引入了右值引用,用&&表示,其中右值引用只能绑定到右值上 ,但可以使用std::move(),或static_cast<T&&>()显式的将左值转换为右值 左值引用分两种情况: 1) 2) 引入右值引用的目的:右值通常是一个临时变量,可以对其做任意修改,右值引用可以避免右值使用时涉及到的 阅读全文
posted @ 2016-05-20 16:24 小菜鸡y 阅读(222) 评论(0) 推荐(0) 编辑