自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大冰的小屋

谁的青春不苦逼,谁的未来是确定,努力吧,少年!

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 智能指针的部分实现

在程序编程是经常遇到内存泄露和多次内存释放的问题,C++通过实现智能指针的类模板实现了可控性。    通过类的构造函数接管申请的堆内存, 通过析构函数释放该堆内存。#include templateclass SmartPtr{public: SmartPtr(); SmartPtr(T* point); T* operator->(); T& operator*

2013-11-30 22:32:27 671

原创 使用类模板和特化实现1到N的快速求和

求1到N的和可以用数学公式直接求取,但是公式还是用到了乘法和除法,这里使用类模板和特化的方法实现快速计算。#include using namespace std;templateclass Sum{public: static const int VALUE = Sum::VALUE + N;};template<>class Sum{public: stati

2013-11-30 22:26:23 1100

原创 快速排序算法---20世纪十大算法之一

基本思想:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行递归排序,以达到整个序列有序的目的。即任取待排记录的某一个记录(如第一个记录)作为基准,按照该记录的关键字大小将整个序列划分成左右两个子序列:        左侧的子序列中的所有记录的关键字都小于或等于基准记录的关键字        右侧的子序列中的所有记录的关键

2013-11-25 19:39:46 1190

原创 希尔排序算法---优化了的插入排序

基本思想:创造一些条件,使序列基本有序:小的关键字基本在前面,大的关键字基本在后面,不大不小的基本在中间。这样再进行直接插入排序时就会减少许多的移动操作。实现方式是将序列分成若干个子序列,此时对每个子序列进行直接插入排序,当整个序列都基本有序时,再对全体序列进行一次直接插入排序。      这里子序列的选取是通过一个跳跃分割的方式:将相距某个增量的记录组成一个子序列,(如每相距3个距离的记录组

2013-11-24 21:54:27 889

原创 今天,不再是千里之外了

博客今天终于排到了19991了,不再是每次打开的千里之外。以后还要多多努力,在保证质量的基础上提高数量,特此记录一下,继续加油,

2013-11-22 21:54:11 1200 1

原创 选择排序和插入排序

选择排序的基本思想:每趟(如第i趟, i = 0, 1, 2,....n-2)后面的n-i个带排列的数据元素中选出关键字最小的元素,作为有序元素序列的第i个元素。#include void swarp(int array1[], int i, int j){ int temp = array1[i]; array1[i] = array1[j]; array1[j] = temp;

2013-11-21 22:28:38 908

原创 冒泡排序算法

基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序为止。       对于有n个元素的序列,最坏情况是要冒n-1趟,每趟选出一个最大的元素放在序列的末尾, 或最小的元素放在序列的头部,剩下的元素再次冒泡。 #include void swarp(int array1[], int i, int j){ int temp = array1[i]; array1[i]

2013-11-21 22:05:34 874

转载 使用两个队列实现一个栈,使用两个栈实现一个队列!

文章出处:http://blog.csdn.net/begginghard/article/details/6988904 1、这里所说的都是STL中的queue,stack     其中queue的特点是先进先出,它所具有的函数有:     queue     void push(int elem)                              //向队列中添加元

2013-11-18 20:43:02 867

原创 递归实现的字符全排列

题目要求:用C++写一个函数, 如 Foo(const char *str), 打印出 str 的全排列,如 abc 的全排列: abc, acb, bca, dac, cab, cba 通过观察可以发现全排列的方式:把每个元素依次放到第一个位置,剩下的元素再全排列,直到最后一个元素进行全排列(即它本身),所以可以用递归实现。  如a,b,c的全排列:Foo("abc")

2013-11-17 16:23:36 801

原创 利用回溯的八皇后问题

八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机发明后,有多种方法可以解决此问题。

2013-11-17 11:38:31 857

转载 程序员技术练级攻略

转载自酷壳  酷壳 – CoolShell.cn    地址:http://coolshell.cn/articles/4990.html 2011年7月18日 陈皓       月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Ma

2013-11-14 11:40:52 1064

转载 用十年来学编程

转载自酷壳  酷壳 – CoolShell.cn    地址:http://coolshell.cn/articles/2250.html  2011年7月18日 陈皓    下面是一个《Teach Yourself  C++ in 21 Days》的流程图,请各位程序员同仁认真领会。如果有必要,你可以查看这个图书以作参照:http://www.china-pub.com/

2013-11-14 11:36:28 1161

原创 汉诺塔递归方法的实现

汉诺塔问题:汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。      递归实现的思路:假设三根柱子一次是A, B,C;将n快圆盘按由大到小的顺序从底

2013-11-12 21:23:53 1008

转载 四件在我步入职业软件开发生涯那天起就该知道的事情

原文网址http://www.aqee.net/4-things-i-wish-i-would-have-known-when-i-started-my-software-development-career/#comment-14073我的软件开发生涯开始于大约15年以前。但是直到最近5年,我才真正地看到它的提高。下面这些事情,我希望在进入软件开发领域时我已经知道了。如果我早

2013-11-11 20:17:07 782

原创 Qt下使用OpenCV捕获摄像头

在Qt下没有专门的视频采集与播放工具。这是使用了OpenCV所带的库函数捕获摄像头的视频图像。这里要注意的是Qt的图像格式是RGB格式,而OpenCV的格式是BGR,所以要进行颜色通道的转换,用到了OpenCV的库函数:cvtColor函数。       Qt的图像存储格式是QImage类,而OpenCV的图像格式是Mat,所以要进行转换:Mat image = imread("1.jpg

2013-11-09 16:09:56 3971 1

原创 C++中的多态总结二

1.函数重载和函数重写的区别    函数重载:           函数重载必须在同一个类中进行;          子类无法重载父类的函数,如果子类有类似父类“重载”式的函数时,子类的该成员函数将覆盖父类对应的成员函数;         重载是在编译期间根据参数类型和个数决定调用函数的。  函数重写:         函数重写必须发生于父类与子类之间;

2013-11-07 22:20:59 722

原创 C++中的多态总结一

之前对C++的面向对象的概念总是不太能理解,在学习了面向对象的多态时,总算对面向对象有了一些认识。1、函数重写      1.1 要介绍对象的多态,首先先介绍下类中成员函数的重写。先看一下这段代码:class Parent{ public: void print() { printf("I am parent\n");

2013-11-07 20:37:37 837

原创 OpenCV中读取摄像头

人脸识别首先要做的就是摄像头数据的读取,这里OpenCV很好的实现了摄像头数据的读取。在OpenCV1.x中用到的函数是:1、打开摄像头或视频文件    CvCapture* cvCreateCameraCapture(int index);    //index 摄像头的设备号, 只有一个摄像头时,用0就好了    CvCapture* cvCreateFileCapture(c

2013-11-03 20:55:16 3851

用C++实现数据结构中的各种算法

用c++实现的数据结构中的各种算法,有完整的实现过程

2013-09-02

空空如也

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

TA关注的人

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