- 博客(7)
- 收藏
- 关注
原创 指针用法
主要内容有:指针的定义,访问,操作,指针地址作为返回值,指针和引用的区别,指针和数组区别<1>指针的定义:一级指针定义:int* p=NULL;int* p=new int;二级指针:int **p=NULL;int** p=new int*[10];初始化时只有最高位可先不定义 当使用const限制时,有以下几种情况:const char* p,...
2018-07-17 21:53:20
5858
原创 C/C++中的结构体对齐原则
1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,每个数据成员存储的起始位置要从该成员(每个成员本身)大小的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。例子:struct node{ char a; int b};sizeof(node)=80是任何数的整倍数,char的大...
2018-07-06 23:52:15
8523
3
原创 sizeof和strlen
strlen的用法比较简单:就是算出字符串中实际存放的字符个数,不包括字符串结束符'\0'源码:int strlen(const char *StrDest){ int i; i=0; while((*StrDest++)!='\0') { i++; }//这个循环体意思是从字符串第一个字符起计数,只遇到字符串结束标志'\0’才停止计数 return i;}例子:char s...
2018-07-06 23:20:17
213
原创 k-均值:一种基于型心的技术
1.一些概念对于给定的数据集D,将D聚类成k个簇c1,c2,...ck;k-均值算法用簇ci的型心代表簇,把簇型心定义为簇内点的均值,对象p到型心ci的距离用欧式距离度量dist(p,ci),簇ci的质量用簇内变差度量,它是ci中所有对象和形心ci之间的误差的平方和,定义为:E=∑ki=1∑dist(p,ci)2p∈Ci 2.k-均值算法执行流程:首先在D
2017-08-26 16:22:39
551
原创 快排
就是利用分治的思想将大问题分成小问题解决。首先随便找一个作为标准(为方便每次以左边第一个为标准),将所有比他大的移到其右边,比他小的移到其左边,然后将其左边的和右边的所有数作为整体递归执行同样的操作,直到要执行的整体为一;例如要排序的数为:44,71,28,61,37,29;第一次以基准值:temp=44为标准经过移动得:29 ,37,28,44,61,71;然后再分别对29,37,28和61,6...
2016-09-01 15:21:33
259
原创 归并排序
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。如果要排序的只有两个数,很显然只要比较两者的大小即可;如果有四个数如6,4,3,8呢?我们可以采用分治的想法将其分为俩个部分6,4和3,8;将6,4排序的 到4,6;将3,8排序;然后将这两部分按从小到大合...
2016-08-25 02:23:27
178
原创 插入排序
插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。每次遍历的任务是:通过扫描前面已排序的子列表,将位置i处的元素定位到从0到i的子列表之内的正确的位置上。效率: 空间复杂度O(1) 时间复杂度O(n2) 最差情况:反序,需要移动n*(n-1)/2个元素 最好情况:正序,不需要移动元素数组在已排序或者是“近似排序”时,插入
2016-08-25 01:33:07
203
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人