随笔分类 -  C/C++

Just so so ...
摘要:无需插入会导致插入速度快但检索速度慢, 有序的插入会导致插入速度慢但检索速度快. hash 是一个折中的方法. 阅读全文
posted @ 2011-11-28 19:54 walfud 阅读(518) 评论(0) 推荐(0)
摘要:这里实现了一个对命令行进行分解的基类. 基类不能直接使用, 必须派生一个子类, 通过映射对所输入的命令进行分解. 这个框架的灵感来自于 MFC 中的 Message Mapping. 具体代码, 参见 Cmder.h 中 BEGIN_OPT ... END_OPT 附近. vs 2008 + win 7 下测试通过. 阅读全文
posted @ 2011-11-07 22:21 walfud 阅读(1326) 评论(1) 推荐(0)
摘要:void bubble(int arr[], int len){ for (int i = 0 ;i < len ;i++) { for (int j = 0 ;j < len - i - 1 ;j++) { if (arr[j] > arr[j+1]) { int tmp = arr[j] ; arr[j] = arr[j+1] ; arr[j+1] = tmp ; }//if }//... 阅读全文
posted @ 2011-10-20 23:22 walfud 阅读(274) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2011-10-13 13:10 walfud 阅读(375) 评论(0) 推荐(0)
摘要:写了三天, 目前只支持 int 型变量和常量与指针的组合. 在勇攀自动机的高山中不行摔回起点... 阅读全文
posted @ 2011-07-29 21:23 walfud 阅读(973) 评论(2) 推荐(0)
摘要:#include <iostream>using namespace std ;int main (int argc, char **argv){ // 由于缺少一个 ',' 导致两个字符串合并, 从而少初始化了一个元素. const char *arr[5] = { "1", "2", "3" "4", "5" } ; for (int i = 0;i < int(sizeof(arr)/sizeof(arr[0])); i++) { cout << 阅读全文
posted @ 2011-07-17 22:33 walfud 阅读(450) 评论(0) 推荐(0)
摘要:红黑树是一种二叉查找树, 但在每个基点上增加一个存储位表示结点的颜色, 可以说是 RED 或 BLACK. 通过对任何一条从跟到叶子的路径上各个结点着色方式的限制, 红黑树确保没有一条路径会比其他路径长出两倍, 因而是接近平衡的. 阅读全文
posted @ 2011-05-17 10:41 walfud 阅读(3895) 评论(1) 推荐(0)
摘要:// Tree.h//#ifndef TREE#define TREE#include <stddef.h>struct Node{ int key ; Node *p ; // Pointer to parent Node *l ; // Pointer to left child Node *r ; // Pointer to right child Node(int key) { this->key = key ; p = l = r = NULL ; } // Bitwise copy constructor is good enough // Replace is 阅读全文
posted @ 2011-05-16 16:14 walfud 阅读(535) 评论(0) 推荐(0)
摘要:// main.cpp// Find the N-th minimum value, based on Partition#include <iostream>#include <iterator>#include <algorithm>using namespace std ;int Minimum_N(int arr[], int s, int e, int n){ // Partition int j = s ; for (int i = s ;i < e-1 ;i++) { // Exchage two integer if (arr[i] & 阅读全文
posted @ 2011-05-06 16:18 walfud 阅读(1336) 评论(0) 推荐(0)
摘要:快排是一种不稳定排序, 其最差时间复杂度是 n^2. 但快排是通常排序的最佳实践选择. 因为其平均期望运行时间是 nlog(n). 阅读全文
posted @ 2011-04-27 10:46 walfud 阅读(351) 评论(1) 推荐(0)
摘要:此算法优秀在最多比较了 3*n / 2 次就完成了任务. 并且将待分析数组分别以奇数和偶数处理, 从而大大降低了分析的难度. 阅读全文
posted @ 2011-04-17 09:18 walfud 阅读(1004) 评论(0) 推荐(0)
摘要:堆排序为什么美? 记得在 coolshell.cn看到一个文章, 是一个日本人做的排序算法的演示程序, http://coolshell.cn/articles/3933.html, 很是不错, 当你看到堆排序时, 就会被那魔法般的变幻所吸引... 后来仔细思考堆排序, 堆排序为什么美? 堆排序是一个迭代的过程, 每次子排序对于整个带排序的数组是以 2^n 的前进速度进行的, 所以建堆完成后, 排序的时间复杂度是 nlog(n). 面对这个公式我曾经很淡定, 但是当我看到 n > 200 甚至更多的时候, 我变得敏感起来. 什么是优秀, 优秀是在思想上下功夫, 不是用时间来补拙劣. 阅读全文
posted @ 2011-04-15 13:06 walfud 阅读(574) 评论(2) 推荐(0)