摘要: 前言 1、插入排序(Insertion sort)的基本思想 1) 插入排序的基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排序序的子文件的适当位置,直到全部记录插入完成为止。 2)插入排序方法的代表:直接插入排序和希尔排序 一、直接插入排序 1、直接插入排序的基本思想 假设带排序的记录存放在数组R[1…n]中。初始时,R[1]自成1个有序区,无序... 阅读全文
posted @ 2013-08-29 16:53 aoguren 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 前言:1、分治法的基本思想分治法的基本思想是将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解决这些子问题,然后将这些子问题的解组合为原问题的解。2、交换排序的基本思想1)交换排序的基本思想是两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。2)应用交换排序基本思想的主要有冒泡排序和快速排序。一、快速排序1、快速排序的基本思想设当前待排序的无序区为R[low…high],利用分治法可将快速排序的基本思想描述为:1. 分解 在R[low…high]中任选一个记录作为基准(Pivot),以此基准将当前无序区划分为左、右两个较小的子区间R[low… 阅读全文
posted @ 2013-08-28 15:46 aoguren 阅读(1448) 评论(0) 推荐(0) 编辑
摘要: 常说”工欲善其事必先利其器”, 下面的一些工具软件,必能提高你的工作效率。开发相关Resharper(收费)如果说在VS中,必装的插件是什么,那么一定是Resharper.园中甚至有看到朋友因为老板不愿意掏钱买Resharper而辞职。(不过我觉得也对,如果老板认为工具比人值钱,跟这样的老板混,也没什么前途)在VS扩展的网站上,Resharper排名第三。使用Resharper有几大好处:分析和提示如何改进和提高代码质量方便单元测试方便重构快速定位代码和文件关于Resharper的具体使用,各位可以google一下。Sqldelta(收费,30天试用)sqldelta可以比较2个数据库之间的差 阅读全文
posted @ 2013-08-24 11:01 aoguren 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 一、前言:C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a。C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换成char。 dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。 reinterpret_cast,仅仅重新解释类型,但没有进行二进制的转换。 4种类型转换的格式,如:TYPE B = static_cast(TYPE)(... 阅读全文
posted @ 2013-08-17 12:27 aoguren 阅读(227) 评论(0) 推荐(0) 编辑
摘要: ——每个现象后面都隐藏一个本质,关键在于我们是否去挖掘写在前面:函数重载的重要性不言而明,但是你知道C++中函数重载是如何实现的呢(虽然本文谈的是C++中函数重载的实现,但我想其它语言也是类似的)?这个可以分解为下面两个问题1、声明/定义重载函数时,是如何解决命名冲突的?(抛开函数重载不谈,using就是一种解决命名冲突的方法,解决命名冲突还有很多其它的方法,这里就不论述了)2、当我们调用一个重载的函数时,又是如何去解析的?(即怎么知道调用的是哪个函数呢)这两个问题是任何支持函数重载的语言都必须要解决的问题!带着这两个问题,我们开始本文的探讨。本文的主要内容如下:1、例子引入(现象)什么是函数 阅读全文
posted @ 2013-08-17 12:08 aoguren 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp]view plaincopyinta=100;intb=a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。[c-sharp]view plaincopy#includeusingnamespacestd;classCExample{private: inta;public://构造函数 CExample(intb) {a=b;}//一般函数 voidShow() {coutusingnamespacestd;classCExample{p 阅读全文
posted @ 2013-08-17 12:05 aoguren 阅读(403) 评论(0) 推荐(1) 编辑
摘要: 一、题目:class String{public: String(const char *str = NULL); // 普通构造函数 String(const String &other); // 拷贝构造函数 ~String(void); // 析构函数 String & operator = (const String &other); // 赋值函数private: char *m_data; // 用于保存字符串};各个解析:1、构造函数 /* 1... 阅读全文
posted @ 2013-08-15 17:27 aoguren 阅读(5769) 评论(2) 推荐(1) 编辑
摘要: 在推动技术变革上,开源运动发挥了非常显著的作用。而Linux成功地将开源转换成商务模式,给广大开源工作者带来了更大的信心和勇气。目前,开源已成为主流,在未来的几年内,它的足迹将会遍布前沿教育、航空航天(如无人驾驶飞机)等许多领域。 借鉴现有的开源项目或开源代码,对于初级开发者来说,不失为一种很好的编程手段,但千万不要单纯地“用”,更多地是理解与提升,这样才会进步。 下面为大家介绍6款源码搜索引擎,让你找到更适合你的源码。 1.Ohloh Ohloh Code是最大且非常全面的源码搜索引擎,根据FOSS目录来看,其拥有超过10亿行代码且在不断更新,它不仅是免费的,而且还可以通过社区进行... 阅读全文
posted @ 2013-08-11 15:03 aoguren 阅读(300) 评论(0) 推荐(0) 编辑
摘要: http://www.cplusplus.com/ //C++参考http://www.cppreference.com/wiki/start//C++参考http://www.woyouxian.net/z/c++/toc.html //在线版本C++ primer Edition 4 阅读全文
posted @ 2013-08-06 22:21 aoguren 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 1. MySQL 4.x版本及以上版本提供了全文检索支持,但是表的存储引擎类型必须为MyISAM,以下是建表SQL,注意其中显式设置了存储引擎类型CREATE TABLE articles ( id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY, title VARCHAR(200), body TEXT, FULLTEXT (title,body)) ENGINE=MyISAM DEFAULT CHARSET=utf8; 其中FULLTEXT(title, body) 给title和body这两列建立全文索引,之后... 阅读全文
posted @ 2013-08-06 10:01 aoguren 阅读(238) 评论(0) 推荐(0) 编辑