摘要:
问题描述 给定一字符串数组 szText,将其中的所有空格替换为 "%20" 字符串。(注:szText 数组后面拥有足够长的额外空余空间) 解题 思路一 该问题最最普通的解法就是从前往后逐一扫描,遇到某位置Pos处的字符为空格时,将 Pos 之后的所有字符全部分别向后面移动2格。直至将整串数组的有 阅读全文
摘要:
变长结构体 如上面代码即为一变长结构体,其中 char data[]; 为一变长数组,称之为柔性数组。正是因其为变长数组,故结构体才可变长。使用 test 结构体时,可用 malloc 申请大于 sizeof(test) 长度的空间。如下: 使用柔性数组有以下几个好处: 首先柔性数组不占内存,值代表 阅读全文
摘要:
编译 boost 库的步骤: 使用 boost 库步骤: 编译 boost 库时必需要注意的问题: 参考文献: http://www.cnblogs.com/zhcncn/p/3950477.html http://www.cnblogs.com/myart/p/4223451.html http: 阅读全文
摘要:
数值型 c++中,对于 int、long、int64、...等这些数值类型,如果是有符合的,则类型前加不加 signed 其效果都是一样的。 比如如下声明: 字符 对于char需要小心。许多人知道 char 与 unsigned char 是不同的,但不一定会知道 char 与 signed cha 阅读全文
摘要:
特别说明: 对于算法,重在理解其思想、解决问题的方法,思路。因此,以下内容全都假定待排序序列的存储结构为:顺序存储结构。 归并排序算法介绍 归并排序算法主要是将两个有序的序列合并成一个更大些的有序序列。因此归并排序算法要有个归并操作(这也是其核心操作)。归并操作,总是将两个相邻的有序序列进行合并,直 阅读全文
摘要:
特别说明: 对于算法,重在理解其思想、解决问题的方法,思路。因此,以下内容全都假定待排序序列的存储结构为:顺序存储结构。 快速排序介绍 快速排序算法相较于插入、冒泡、选择排序来说而言要稍微复杂些。其主要用的是分治思想,将问题划分为更小的子问题来解决。因此,快速排序的思想其实很简单。在(目前的)时间复 阅读全文
摘要:
特别说明: 对于算法,重在理解其思想、解决问题的方法,思路。因此,以下内容全都假定待排序序列的存储结构为:顺序存储结构。 冒泡排序思想 冒泡排序与插入排序、简单选择排序一样,都是比较简单的一类排序算法。假设待排序序列为 ,则冒泡排序算法思想如下: 01.设置 = - 1 (注:0 - 1, 用于标记 阅读全文
摘要:
特别说明: 对于算法,重在理解其思想、解决问题的方法,思路。因此,以下内容全都假定待排序序列的存储结构为:顺序存储结构。 完全二叉树概要 完全二叉树的定义,不知道者请自行查阅相关书籍。由完全二叉树的性质可知,树的高度也就 ,即:从根节点到达任何叶子节点的时间复杂度最多也就 ,完全二叉树的存储结构有多 阅读全文
摘要:
特别说明 对于算法,重在理解其思想、解决问题的方法,思路。因此,以下内容全都假定待排序序列的存储结构为:顺序存储结构。 选择排序思想 选择排序又称为简单选择排序,主要思想描述如下: 01.假设待排序列表为 。选择排序将 划分为由已排序好序的 部分 以及 未排序的 部分; 注意:刚开始时 部分其实可认 阅读全文
摘要:
特别说明: 对于算法,重在理解其思想、解决问题的方法,思路。因此,以下内容全都假定待排序序列的存储结构为:顺序存储结构。 希尔排序算法摘要: 希尔排序又称为“缩小增量排序”。直接插入排序算法在效率上虽说没办法突破 ,但其在少量数据或待排序列基本有序的情况下,效率却是非常高效的。因此,为进一步提高排序 阅读全文