- 博客(16)
- 收藏
- 关注
原创 C源码@数据结构与算法->DisjointSet
/* * Disjoint set data structure. * All in one file because it's so short. */ #define FastAlg #define NumSets (128) #ifndef _DISJ_SET_H typedef int DisjSet[NumSets + 1]; typedef int
2015-08-29 17:25:33 445
原创 C源码@数据结构与算法->Sorting
/* * testsort.cpp */ #include #include #include "sort.h" ElementType Arr[] = {34, 8, 64, 51, 32, 21, 0, 100, 99, 3}; void Permute(ElementType A[], int N) { int i; for (i = 0; i < N; ++i) {
2015-08-27 16:25:42 423
原创 C源码@数据结构与算法->BinomialQueue
/* * fatal.h */ #include #include #define Error(Str) FatalError(Str) #define FatalError(Str) fprintf(stderr, "%s\n", Str), exit(-1) /* * testbin.cpp */ #include #include "binomia
2015-08-24 20:00:22 460
原创 C源码@数据结构与算法->LeftistHeap
/* * testleft.cpp */ #include #include "leftheap.h" #define MaxSize 5000 int main() { PriorityQueue H; int i, j; H = Initialize(); for (i = 0, j = MaxSize / 2; i < MaxSize; ++i
2015-08-24 10:00:45 396
原创 C源码@数据结构与算法->PriorityQueues
/* * testheap.cpp */ #include #include "binheap.h" #define MaxSize (1000) int main() { PriorityQueue H; int i, j; H = Initialize(MaxSize); for (i = 0, j = MaxSize / 2; i < MaxS
2015-08-22 16:39:38 575
原创 C源码@数据结构与算法->Hashing
/* * testhash.cpp */ #define QuadProb /* Define the appropriate hash algorithm */ #include #ifdef SepChain #include "hashsep.h" #endif #ifdef QuadProb #include "hashquad.h" #endif
2015-08-20 20:05:10 451
原创 C源码@数据结构与算法->AVL树
/* * testavl.cpp */ #include #include "avltree.h" int main() { AvlTree T; Position P; int i, j; T = MakeEmpty(NULL); for (i = 0, j = 0; i < 50; ++i, j = (j + 7) % 50) { T =
2015-08-15 16:21:26 441
原创 C源码@数据结构与算法->二分查找树(Binary Search Tree)
/* * testtree.cpp */ #include #include "tree.h" int main() { SearchTree T; Position P; int i, j; T = MakeEmpty(NULL); for (i = 0, j = 0; i < 50; ++i, j = (j + 7) % 50) {
2015-08-15 09:31:05 613
原创 使命栈(stack)实现一个简易的四则运算计算器
运算过程比较简单。在VC控制台输入 四则运算表达式,以按下回车键来获取运算结果。退出控制台,按下CTRL + 'Z'。 /* * calculator.cpp */ #include #include #include "stack.h" #define EXP_MAX_SIZE 64 char infix_exp[EXP_MAX_SIZE]; int po
2015-08-12 18:53:58 830
原创 C源码@数据结构与算法->队列(queue)
/* * testqueue.cpp */ #include #include "queue.h" int main() { Queue Q = NULL; int i; Q = CreateQueue(12); for (i = 0; i < 10; ++i) { Enqueue(i, Q); } while (!IsEmpty
2015-08-12 18:23:46 428
原创 C源码@数据结构与算法->栈Stack
/* * fatal.h * Header file for print error message. */ #ifndef _FATAL_H #define _FATAL_H #include #include #define Error(str) FatalError(str) #define FatalError(str) fprintf(stderr,
2015-08-11 16:14:54 437
原创 C源码@数据结构与算法->表(Cursor )
/* * fatal.h * Header file for print error message. */ #ifndef _FATAL_H #define _FATAL_H #include #include #define Error(str) FatalError(str) #define FatalError(str) fprintf(stderr,
2015-08-11 10:44:18 425
原创 C源码@数据结构与算法->基数排序
本文仅作原理的简单实现。代码中,使用链表来进行bucket的模拟较为妥当,如若下文一般,使用数组,需使用较多的ram(4 * 10 * size bytes)。原理分析,百度百科,各种博客,资源很多,不作赘述。 #include #include #define fatal_error(str) fprintf(stderr, "%s\n", str), exit(-1) in
2015-08-10 19:14:45 523
原创 C源码@数据结构与算法->表
/* * fatal.h * Header file for print error message. */ #ifndef _FATAL_H #define _FATAL_H #include #include #define Error(str) FatalError(str) #define FatalError(str) fprintf(stderr,
2015-08-10 14:15:06 664
原创 通过 Linux文件描述符/Windows句柄 来看 C语言里的"FILE"
1.“文件”的由来 一个程序的I/O指代了程序与外界的交互,包括文件、管道、网络、命令行、信号等。更广义地讲,I/O指代任何操作系统理解为“文件”的事务。许多操作系统,包括Linux和Windows,都将各种具有输入和输出概念的实体——包括设备、磁盘文件、命令行等——统称为文件,因此这里所说的文件是一个广义的概念。 对于一个任意类型文件,操作系统会提供一组操作函数,这包括打开文件、读文件、写文
2015-08-04 11:27:57 1707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人