- 博客(11)
- 收藏
- 关注
转载 new和malloc的区别
1、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数3、内存泄漏对于malloc或者new都可以检查出来的,区别在于new可以指明是那个文件的那一行,而malloc没有这些信息。4、new 和
2011-10-24 16:29:35 491
转载 各种排序算法的稳定性和时间复杂度小结
选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。冒泡法: 这是最原始,也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡: 复杂度为O(n*n)。当数据为正序,将不会有交换。复
2011-10-16 21:22:44 349
转载 快速排序
快速排序(quick sort)是由C.A.R Hoarse提出的一种排序算法,它是冒泡排序的一种改进算法。由于快速排序算法元素之间的比较次数较少,速度较快,因而得名快速排序。在各种内部排序方法中,快速排序被认为是目前最好的一种排序方法。快速排序算法的思想是:在当前的排序
2011-10-16 21:13:21 620
转载 希尔排序
希尔排序(Shell's sort)又称为“缩小增量排序”(Dimimishing Increment Sort),是由希尔在1959年提出的。希尔排序是对插入排序的一种改进。希尔排序的基本思想是:设定一个元素间隔增量gap,将参加排序的序列按这个间隔数gap从第1个元素
2011-10-16 18:06:30 404
转载 冒泡排序
冒泡排序(bubble sort)是最为常用的一种排序方法。它是一类具有“交换”性质的排序方法。冒泡排序的基本思想是:将序列中的第1个元素与第2个元素进行比较,若前者大于后者,则将第1个元素与第2个元素进行位置交换,否则不交换。再将第2个元素与第3个元素进行比较,同样
2011-10-16 17:18:43 366
转载 选择排序
选择排序也是一种比较常见的排序方法。它的基本思想是:第i趟排序从序列的n-i+1(i=1,2,,,,n-1)个元素中选择一个最小的元素,与该n-i+1个元素的最前面的那个元素进行位置交换,也就是与第i个位置上的元素进行交换,直到i=n-1。直观地讲,每一趟的选择排序就
2011-10-16 16:42:21 306
转载 插入排序
直接插入排序是一种最为简单的排序方法,因此也被称为简单插入排序。直接插入排序的基本思想是:第i趟排序将序列中的第i+1个元素k(i+1)插入到一个已经按值有序的子序列(k1,k2,,,,,ki)中的合适的位置,使得插入后的序列仍然保持按值有序。算法描述如下:void
2011-10-16 16:15:05 260
转载 算法的力量(转李开复)
算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门,就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实,大家被这些公司误导了。编程语言虽然该学,但是学
2011-10-13 12:39:25 374
转载 内存映射文件
与虚拟内存一样,内存映射文件可以用来保留一个地址空间的区域,并将物理存储器提交给该区域。它们之间的差别是,物理存储器来自一个已经位于磁盘上的文件,而不是系统的页文件。一旦该文件被映射,就可以访问它,就像整个文件已经加载内存一样。内存映射文件可以用于3个不同的目的:1、系统
2011-10-12 17:55:19 594
转载 c/c++运行期库的堆栈检查函数
//The C run-time library knows the page size for the target system#ifdef _M_ALPHA#define PAGESIZE (8*1024) //8-KB page#else#define PAGES
2011-10-12 17:37:20 1076
原创 进程间通信之共享内存
//写入端//创建共享内存void C写入端Dlg::OnBnClickedButton1(){ // TODO: 在此添加控件通知处理程序代码 //创建共享内存 handle = CreateFileMapping(INVALID_HANDLE_VALUE, NU
2011-10-01 15:29:11 640
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人