08 2010 档案
摘要:各种排序算法的比较 1.稳定性比较 插入排序、冒泡排序、二叉树排序、二路归并排序及其他线形排序是稳定的 选择排序、希尔排序、快速排序、堆排序是不稳定的 2.时间复杂性比较 插入排序、冒泡排序、选择排序的时间复杂性为O(n2) 其它非线形排序的时间复杂性为O(nlog2n) 线形排序的时间复杂性为O(n); 3.辅助空间的比较 线形排序、二路归并排序的辅助空间为O(n),其它排序的辅助空间为O...
阅读全文
摘要:一 :关于指针和堆的内存分配 先来介绍一下指针: 指针一种类型,理论上来说它包含其他变量的地址,因此有的书上也叫它:地址变量。既然指针是一个类型,是类型就有大小,在达内的服务器上或者普通的PC机上,都是4个字节大小,里边只是存储了一个变量的地址而已。不管什么类型的指针,char * ,int * ,int (*) ,string * ,float * ,都是说明了本指针所指向的地址空间是什么类型...
阅读全文
摘要:【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。 1.函数指针定义 函数类型 (*指针变量名)(形参列表); “函数类型”说明函数的返回类型,由于“...
阅读全文
摘要:让我们先看看一些常见的左值和右值举例:对于每一个表达式,其要么是一个左值(lvalues),要么是一个右值(rvalue)。 左值这个概念最初来源于赋值语句:E1 = E2;,这里要求左操作数E1是一个(可修改的)左值。现在,左值这个概念的含义已不局限于此。而右值是相对于左值出现的,非左即右。 虽然左值和右值的内涵和外延有了很大变化,但仍满足这条规则:右值只能出现在赋值运算符的右边,不能出现在它的...
阅读全文
浙公网安备 33010602011771号