- 博客(8)
- 收藏
- 关注
原创 《算法跬步》插入排序
一、原理:将无序序列中的各个元素以次插入到有序的线性表中二、实现方法: 假设前面已经m-1个有序元素,现在将第m个元素s[m]插入到前面有序的序列中,则用s[m]与第m-1及m-1之前的元素以次比较,当s[m-1]大于s[m]时,s[m-1]后移,当出现第k个元素(0三、代码如下:void InsertSort(int s[],int length){ if
2013-10-26 21:50:20 306
原创 《跬步算法》选择排序
一、算法思想: 从整个线性表中选择最小的那个元素,然后将这个最小的元素放到表的最前面或者最后面(根据排序的升降序)。然后对剩下的子表采用相同方法,直到表空。二、实现步骤: 1、判断数组的有效性 2、初始化一个临时变量“temp”交换时存放交换值,初始化一个整型变量“k”作为指向数组最小值的下标 3、第一个子表,从中找到最小值,并
2013-10-26 10:49:19 390
原创 《算法跬步》冒泡排序
原理:两个循环,一个循环控制遍数,一个循环控制每一遍中的数据交换。判断两个数据的大小时,使用前数大后数则升序,反之降序。实现步骤:1、判断传入的参数是否有效;2、实现排序void Bubble_Sort(int data[],int length){ if (NULL == data || 0 = length) { return; } int temp = 0;
2013-10-25 21:29:40 360
原创 《算法跬步》快速排序
实现步骤:1、判断排序的数组是否有效;2、排序 2.1 判断首下标是否小于尾下标,大于则return 2.2 寻找中间值的下标(把数组的第一个数据作为比较的原点(中间值),比该数据小的数据排列在左边,比该数据大的数据排列在右边,递增或递减直到首尾下标相等,该下标为中间值坐标) 2.3 递归调用排序Qui
2013-10-25 20:39:59 475
转载 C++学习笔记十三-复制控制
复制构造函数、赋值操作符和析构函数总称为复制控制。编译器自动实现这些操作,但类也可以定义自己的版本。一、概述: 每种类型,无论是内置类型还是类类型,都对该类型对象的一组(可能为空的)操作的含义进行了定义。比如,我们可以将两个 int 值相加,运行 vector 对象的 size 操作,等等。这些操作定义了用给定类型的对象可以完成什么任务。当定义一个新类型的时候,需要显式或隐式地指
2013-08-23 19:37:24 313
原创 合成析构函数与虚析构函数
合成析构函数:合成析构函数与复制构造函数和赋值操作符函数不同,就算你自己定义了析构函数,系统始终会为我们合成一个析构函数。合成析构函数按对象创建时的逆序撤销每个非static成员,因此,它按成员在类中声明次序的逆序撤销成员。对于类类型的成员,合成析构函数调用该成员的析构函数来撤销对象。注意:撤销内置类型成员或复合类型的成员没什么影响。尤其是,合成析构函数并不删除指针成员所指向的对象。所以,
2013-08-23 19:33:29 828
转载 (转)CString转int
_ttoi() _tcstoul() Format ASSERT() Format的用法CString 型转化成 int 型 把 CString 类型的数据转化成整数类型最简单的方法就是使用标准的字符串到整数转换例程。 虽然通常你怀疑使用_atoi()函数是一个好的选择,它也很少会是一个正确的选择。如果你准备使用 Unicode 字符,你应该用_ttoi()
2013-08-19 20:48:54 958
转载 堆内存和栈内存详解
堆:顺序随意 栈:先进后出 堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式
2013-08-17 17:03:52 379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人