自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

原创 伴随数组求亲和数::伴随数组

int sum[5000000] = {0}; void InitSum() { for(int i=1; 2*i <= 5000000; ++i) { int j = i+i; while(j <= 5000000) { sum[j] += i; j += i; }

2013-12-04 21:40:49 568

原创 在数组中删除尽可能少的数,使得数组满足“先由小到大,再由大到小”

void MyDelete(int* a, int n) { int* asc = new int[n]; // asc[i]表示以a[i]结尾的最长升序 int* desc = new int[n]; // desc[i]表示从a[i]开始的最长降序 int* inc = new int[n]; // 亮点,用辅助数组的巧妙之处 const in

2013-12-04 15:51:35 932

原创 effective c++

1. 不要让构造函数和析构函数吐出异常, 这样可能会造成资源泄漏和不明确行为 2.构造函数和析构函数不要调用虚函数。 3.将基类析构函数定义为虚函数 ,这样动态析构时不会出错 4.将常用精简的函数设为inline,不要滥用,否则造成代码膨胀 5.使用template时也要考虑代码膨胀的问题 6.use const whenever possible 7.使用引用的好处:少了一个构造和析

2013-12-01 12:24:12 340

原创 模板swap

template void swap(tp (&a)[num], tp (&b)[num]) { for(size_t t=0; t<num; ++t) swap(a[t],b[t]); } 交换数组内容, 此模板必须使用引用, 否则num值无法传过去,这是一个指针降阶的问题

2013-12-01 11:51:31 1024

原创 实现rotate的几种算法

Rotate  123abcdefg  to    abcdefg123.   there are three ways to do this (1)循环换位算法(2)三次反转算法 (3)排列循环置换算法:王晓东老师在著作中介绍了一条循环置换分解定理:对于给定数组A[0..N-1]向后循环换位N-K位运算,可分解为恰好gcd(K,N-K)个循环置换,且0,...,gcd(K

2013-12-01 11:33:11 1070

原创 const_cast所造成的同地址不同值问题

#include using namespace std; int main() { const int m = 9; int* p = const_cast(&m); *p = 2; cout << &m << " " << m << endl; cout << p << " " << *p << endl; return

2013-12-01 11:25:08 629

原创 一些C++语法

一、   C++ 中cast 意为强制类型转换 ,  const_cast  去除const特性; static_cast  类型静态转换  float f;  static_cast(f);                dynamic_cast    将指向基类的指针动态转换为指向派生类的指针  Base* p;      Derive* pp = dynamic_ cast(p)

2013-12-01 11:16:10 395

原创 阻止copying行为

方法一: class Derive { private: Derive(const Derive&); Derive& operator=(const Derive&); //只声明,不定义 }; 方法二: class Uncopyable { protected: Uncopyable() {} //允许Derived对象构造和析构 ~Uncopy

2013-12-01 11:09:41 441

原创 copy_constructor, copy_assignment

#include using namespace std; class Base { public: Base() { cout << "Base constructor " << endl; } Base(const Base &b) { cout << "Base copy constructor " << end

2013-12-01 10:39:55 458

南大面试分享

一位南京大学计算机专业面试经验总结,很好,很有帮助

2013-10-23

linux command

linux命令讲解,英文精确讲解linux常用命令,为您学习提高会有很大帮助

2013-08-24

空空如也

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

TA关注的人

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