自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 C语言变长参数的认识以及宏实现

很多时候,我们希望可以在函数中使用任意数量任意类型的函数参数,本文就是从这个点出发,粗略地探知其实现过程。

2015-08-03 10:55:24 2783 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除