- 博客(4)
- 收藏
- 关注
转载 (转)C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区...
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果...
2013-08-22 16:54:00 75
转载 数据结构复习---最短路径
求解图中的最短路径算法有:Dijkstra算法和Floyd算法。 Dijkstra算法: 求带权有向图中某个源点到其余各顶点的最短路径,最常用的是Dijkstra算法。该算法设置一个集合S,记录已求得的最短路径的顶点,初始时把源点V0放入S中。此外,在构造过程中还设置了两个辅助数组: dist[]:记录了从源点V0到其他个顶点当前的最短路径长度。 path[]:path[i]表示...
2013-08-15 17:14:00 176
转载 设计模式---单例模式
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局变量。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的方法就是让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且提供一个访问该实例的方法。 Singleton -instance(私有变量) -Singleton(私有构造函数) ...
2013-08-09 22:01:00 69
转载 数据结构常用算法复习---快速排序
快速排序的时间复杂度为O(nlogn),在排序算法中效率较高,所以经常被采用。快排的思想为分治法,软件公司笔试面试中经常会考到该算法。 算法的基本思想: 1.先从数列中抽出一个数作为基准数 2.分区过程,将比这个数大的数全部放在右边,将比这个数小的全放在左边 3.对第二步分区得到的两个区在进行分区,直到每一个区中只有一个数 算法过程举例: 原始数列: 27 99 11 37 9...
2013-08-09 16:59:00 98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人