c++
s695540301
在校程序猿
展开
-
c++ union(联合体)
union是类似struct的一种结构体。书写方法如下: union test { long a; int b;char c; } 不同与struct结构主要有俩点: 1.struct结构对象里的实例是全分配的,不管用不用,编译时分配好内存。而union不是这样,是需要再分配。 2.union里的变量公用一个地址首地址。当然操作是一起生效。实质是动态分配足够大的内存。 详情可以参原创 2016-04-07 13:55:26 · 310 阅读 · 0 评论 -
校招算法复习之冒泡排序
冒泡排序是指对一串数字进行排序,其中形象的表示是指这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。就是说最原始的冒泡排序是指从小到大排序(当然排序从小到大还是从大到小都没有关系啦~) 算法思想(Bubble sort):按从小到大排序。把数字按输入顺序从左到右排成一列(在内存中一般用数组实现)。然后从左到右依次去比较找寻当前最小值。比如vector[0]是最原创 2016-08-13 16:21:52 · 288 阅读 · 0 评论 -
校招算法之冒泡排序的优化
冒泡排序算法的基础见:冒泡排序。但是冒泡排序的复杂度最好的情况是O(n),这种情况是怎么出现的呢? 这就是冒泡排序的优化。原理:设定一个标志值(flag),判断此时排序是否已经完成不需要再次排序。 C++版代码:#include using namespace std; void bubbleSort(int* bubble,int num); int main()原创 2016-08-13 17:45:16 · 269 阅读 · 0 评论 -
校招算法之插入排序
插入排序(摘自百科):插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。 插入排序主要分为直接排序和折半排序,本质的思想是一致的,只是实现的思路不一致。直接排序是从右到左进行比较进行排序;而折半排序就是在已排序的基础上对半进行比较,即比较A[i-2/2]与A[i]进原创 2016-08-14 16:33:48 · 209 阅读 · 0 评论 -
校招算法之选择排序
选择排序:顾名思义,即每次选取当前范围的最小值,赋予当前数组的下标值。 void selectSort(int *selection, int num) { int min_value=0; int index; int j; for (int i = 0; i < num; i++) { min_value = selection[i]; index = -1;原创 2016-08-14 16:48:00 · 233 阅读 · 0 评论 -
校招复习之快速排序
转载自:点击打开链接 1 快速排序的基本思想 快速排序(Quicksort)是对冒泡排序的一种改进。 它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 2 快速排序的三个步骤 1)转载 2016-08-14 17:11:42 · 286 阅读 · 0 评论 -
分布式文件系统读写性能分析
转自:http://blog.csdn.net/tonyfirst1/article/details/17440563 很有启迪意义。 概述: 分布式文件系统的后端存储一般都是许多磁盘,有物理磁盘、有磁盘阵列等。说到整个文件系统的读写性能,最后都要归于单个物理磁盘的性能。 单个物理磁盘性能特点: l 顺序IO的性能好,因为不需要磁盘的寻道转载 2016-10-06 10:50:34 · 2068 阅读 · 0 评论