
C-C++
一MasonChen
这个作者很懒,什么都没留下…
展开
-
C++复习之实现标准库的字符串操作函数
C++复习之实现标准库的字符串操作函数strcpy 、 strncpy 、 memmove 、 memcpy 、 memset 、 strlen 、 strncat 、 strcmp 、 strncmp 、 strstr 、 strchr 的实现原创 2016-07-29 10:37:29 · 429 阅读 · 0 评论 -
C++复习之HashTable的简单实现
hashtable :本文中采用开链法( separate chaining )来处理 “ 冲突 ” ( collision ),而且 hashtable只存储唯一的元素,不存在重复。原创 2016-07-29 11:52:28 · 1178 阅读 · 0 评论 -
C++复习之冒泡排序&插入排序&希尔排序
冒泡排序时间复杂度最好的情况为 O(n), 最坏的情况是 O(n^2) ,基本思想是 : 两两比较相邻记录的关键字 , 如果反序则交换 “`cpp void bubbleSort1(int *arr, int n) { for (int i = 0; i < n; i++) { for (int j = 1; j < n - i; j++) {原创 2016-07-29 17:21:59 · 265 阅读 · 0 评论 -
C++复习之简单选择排序&归并排序
简单选择排序 (simple selection sort) 就是通过 n-i 次关键字之间的比较 , 从 n-i+1个记录中选择关键字最小的记录 , 并和第 i(1<=i<=n) 个记录交换之尽管与冒泡排序同为 O(n^2), 但简单选择排序的性能要略优于冒泡排序void selectSort(int *arr, int n) { for (int i = 0; i < n; i++)原创 2016-07-29 20:48:56 · 372 阅读 · 0 评论 -
C++复习之堆排序&快速排序
堆是具有下列性质的完全二叉树 : 每个节点的值都大于或等于其左右孩子节点的值 , 称为大顶堆;或者每个节点的值都小于或等于其左右孩子节点的值 , 称为小顶堆 .堆排序就是利用堆进行排序的方法 . 基本思想是 : 将待排序的序列构造成一个大顶堆 . 此时 , 整个序列的最大值就是堆顶的根结点 . 将它移走 ( 其实就是将其与堆数组的末尾元素交换 , 此时末尾元素就是最大值 ), 然后将剩余的 n-1原创 2016-07-30 10:45:28 · 371 阅读 · 0 评论