C++程序设计
Jalen_v
学习中。。。
展开
-
八大排序算法比较
排序算法可以分为五类: 第一类是插入排序,包括直接插入与shell排序两类; 第二类是选择排序,包括直接选择与堆排序; 第三类是交换排序,包括冒泡排序与快速排序; 还有归并排序与基数排序; 下表是排序算法的性能比较: 参考: http://www.cricode.com/3212.html原创 2015-05-19 21:00:35 · 375 阅读 · 0 评论 -
C++程序设计之关键字(1) Const
1、C++中const有什么用? 不要一听到const就说是常量,这样给考官一种在和一个外行交谈的感觉。应该说const修饰的内容不可改变就行了, 定义常量只是一种使用方式而已,还有const参数, const数据成员, const成员函数,const返回值等, 被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。(参考:http://jingyan.baidu转载 2015-05-10 20:30:29 · 501 阅读 · 0 评论 -
输出字符数组与其他数组的区别
c++中数组的名称代表数组第一个元素的地址,比如输出一个整形数组名称时,会得到这个整形数组第一个元素的地址。 但是当输出字符数组名称时,并不会得到这个字符数组的首地址,而是直接输出整个字符数组的内容;这是因为c++对操作符<<进行了重载,当参数为char*时,会输出char *指向的所有内容。 例一:int main() { int x[] = {1,2,3}; cout<<x<原创 2015-05-20 21:07:57 · 751 阅读 · 0 评论 -
指针数组与数组指针
一、指针数组指针数组实质上是一个数组,数组元素是指针,如下所示: int *p[]; //数组元素是整型指针,与直接定义数组一样,可以不指明元素个数 int *p[n]; char *p[]; //数组元素是char指针 char *p[n];例1:int a,b,c; int *p1[] = {&a,&b,&c}; int x[4],y[4],z[4]; int *p2[] =原创 2015-05-20 10:49:31 · 414 阅读 · 0 评论 -
深入理解动态创建数组
本文主要从内存分配的角度来分析一下数组的动态创建过程,具体过程参考下文的代码很容易理解,不能深入理解具体过程的可以在代码调试阶段查看一下各个数组元素的地址。#include <iostream> using namespace std;int main() { int m = 10, n=5; //动态创建一维数组pa[m] int *pa = new int[m];原创 2015-07-09 10:02:42 · 504 阅读 · 0 评论 -
VS2010安装与环境配置
1、vs2010安装1.1 安装 1.2 激活 可用密钥:YCFHQ-9DWCY-DKV88-T2TMH-G7BHP2、vs2010环境配置2.1 ipch与sdf vs2010中臃肿的ipch和sdf文件 2.2 visual assist VS2010中文注释带红色下划线的解决方法 2.3theme VS2010界面主题更换全过程原创 2015-07-21 21:18:44 · 1985 阅读 · 0 评论 -
排序算法之一:插入排序
1、引言插入排序的工作机理与摸牌时,整理手中的牌的做法类似。在开始摸牌时,我们的左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌的正确位置,要把它与手中每一张牌,从右向左的进行比较,如下图,无论什么时候,左手中的牌都是排好序的,而这些牌原先都是桌上那副牌里最顶上的一些牌。 图1 利用插入排序来排序手中的牌 2、插入排序算法插入排序算法伪代码:INSERTI原创 2015-05-12 09:58:29 · 548 阅读 · 0 评论 -
排序算法之二:快速排序
1、快速排序的描述 像合并排序一样,快速排序也是基于分支模式的,下面是对一个典型子数组A[p..r]排序的分支过程的三个步骤: (1)分解:使用下标q,用A[q]将数组A[p..r]划分为两个子数组(A[p..q-1]和A[q+1..r]),其中A[p..q-1]中的所有元素都小于等于A[q],A[q+1..r]中的所有元素都大于等于A[q],q通过划分过程求得; (2)解决:递归调用快速排原创 2015-05-13 10:23:13 · 475 阅读 · 0 评论