- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 归并排序
#include using namespace std;//将两个有序数组合并void merge_array(int a[],int m,int b[],int n,int c[]){int i=0,j=0,k=0;while(i{if(a[i]c[k++]=a[i++];elsec[k++]=b[j++];}while(ic[k++]=
2015-04-25 15:29:58
355
原创 交换排序
冒泡排序在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。#include using namespace std;void bubble_sort(int a[],int length){ for(int i=0;i<length
2015-04-25 14:13:16
559
原创 堆排序
堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>
2015-04-24 17:28:44
353
原创 选择排序
简单选择排序在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。#include using namespace std;void select_sort(int a[],int length){ for(int i
2015-04-24 16:18:50
312
原创 插入排序
//直接插入排序#include using namespace std;void insert_sort(int a[],int length){ for(int i=1;i<length;i++) { if(a[i]<a[i-1]) { int x=a[i]; a[i]=a[i-1]; int j=i-1; while(a[j-1]>x&&j>=0)
2015-04-24 15:13:03
264
原创 cin getline函数
string类型的输入操作符: 读取并忽略开头所有空白字符读取字符直至再次遇到空白字符,读取终止 string s;cin>>s; cout输入hello world, 输出hello string s1,s2; cin>>s1>>s2; coutcout输入hello world, 输出hello
2015-04-23 19:01:14
758
原创 定义一个空类型,里面没有任何成员变量和成员函数。对该类型求sizeof 结果?
结果为1 。为什么不是0?空类型实例中不包含任何信息,但是当我们声明该类型的实例的时候,它必须在内存中占有一定的空间,否则无法使用这些实例。至于占多少空间,由编译器决定。Visual Studio中每个空类型的实例占用1字节的空间。 如果在该类型中添加一个构造函数和析构函数,再对该类型求sizeof,得到的结果又是多少/ 还是1.调用构造函数和析构函数只需要知道函数的地址即可,而这些函数
2015-03-24 16:43:52
2734
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人