- 博客(41)
- 收藏
- 关注
原创 min_cost_flow
#include #include #include #include using namespace std;struct edge { int to; //要到的点 int cap; //容量 int cost; //单位费用 int rev; //反向边};int V;
2013-08-17 15:35:21 1101
原创 Dinic
#include #include #include #include #include #define MAXV 1000#define INF 0xfffffusing namespace std;struct edge { int to; //终点 int cap; //容量 int rev; //方向边下标};vecto
2013-08-17 15:34:30 674
原创 Ford-Fulkerson
#include #include #include #define INF 0xfffff#define MAXV 100using namespace std;struct edge { int to; //终点 int cap; //容量 int rev; //反向边};vector G[MAXV]; //图的邻接表bool
2013-08-17 15:33:41 711
原创 match_flow
#include #include #include #define MAXN 1000#define MAXK 1000int N, K;bool can[MAXN][MAXK]; //can[i][j] 计算机i能处理任务jvoid solve(void) { int s = N + K, t = s + 1; // 0~N-1:
2013-08-17 15:32:57 661
原创 QuickSort & MergeSort & InsertionSort
/* * Sort * InsertionSort() * QuickSort() * MergeSort() * R_MergeSort() * PS: The running time test should be added. * Date: 2013/4/8 * NolanJian */#include #incl
2013-04-09 17:59:10 885
原创 最小堆
/* * MIN HEAP * Date: 2013/4/5 * NolanJian */#include #include #include #include #define MAXELEMENTS 32000#define HEAP_FULL(n) (n == MAXELEMENTS - 1)#define HEAP_EMPTY(n) (!n)s
2013-04-05 15:09:28 823
原创 最大堆
/* * MAX HEAP * Date: 2013/4/5 * NolanJian */#include #include #include #include #define MAXELEMENTS 32000#define HEAP_FULL(n) (n == MAXELEMENTS - 1)#define HEAP_EMPTY(n) (!n)s
2013-04-05 15:01:52 665
原创 AOE
/* * AOE Activity on edge network * Data: 2013/3 27 * NolanJian */#include #include #include #define MAX_VERTEX 100#define TRUE 1#define FALSE 0struct node;struct hnode;stru
2013-03-28 15:44:33 701
原创 AOV 拓扑排序
/* * AOV * TopSort * Date: 2013/3/27 * NolanJian */#include #include #include #define MAX_VERTEX 100struct node;struct hnode;typedef struct node Node;typedef struct hno
2013-03-27 19:22:04 768
原创 Dijkstra_And_Ford
/* * Dijkstra And Ford * Date: 2013/3/25 * NolanJian */#include #include #include #include #define MAXSIZE 1001#define TRUE 1#define FALSE 0int choose(void);void Input(voi
2013-03-25 15:47:15 595
原创 图基本操作
/* * Graph Basic Operation * DFS(), DFS_R(), BFS(), CreateAdjacencyList(), Add(). * StackPush(), StackPop(), StackGetTop(). * QueuePush(), QueuePop(), QueueGetFront(). * Connected()
2013-03-22 14:49:44 651
原创 树的基本操作
/* * tree.h * Compile tree.c and iltree.c * void create(tree_pointer ptr, int i)是手工写的一棵满二叉树,结点数为15 * Date: 2012/12/12 * NolanJian */#ifndef TREE#define TREE#include
2013-03-21 10:14:09 806
原创 二叉查找树
/* * Binary Sort Tree CreateBST() Insert() FindMax() FindMin() * Cause of time limited, Delete() is not finished. * Date: 2013/3/19 * NolanJian */#include #include #in
2013-03-19 21:11:53 690
原创 产生随机数
/* * * */ #include #include #include #include #define size 1001int main() { int num[size], f[size], count = 0, x, a = 0, u[size]; memset(f, 0, sizeof(f)); memset(u, 0, sizeof
2013-03-19 19:11:02 554
原创 表达式树
/* * Expression_Tree * Date: 2013/3/19 * NolanJian */#include #include struct node;struct stack;typedef struct node Node;typedef Node *NodePointer;typedef struct sta
2013-03-19 18:52:54 685
原创 后序非递归
/* * Date: 2013/3/11 * PostOrder Iteration Method * NolanJian */ #include #include #include struct treenode;struct node;typedef struct treenode TreeNode;typ
2013-03-12 15:54:00 846
原创 转换二叉树
DescriptionDJ非常痴迷于数据结构,二叉树是他最喜欢的结构模型。这种每个顶点的度不大于2的简单的图总是能激发他的灵感。然而,二叉树的表示方法是一个困扰他已久的问题。如果用链表表示,不直观;画成图形,计算机又难以存储。好在他现在发现了一种既直观,计算机又便于存储的表示方法。该方法定义如下:1、如果二叉树中节点X是叶子节点,则该节点直接表示为X。2、如果二叉树中节点X有左子树,则
2013-03-09 09:55:50 842
原创 中缀转后缀&后缀求值
/* * Infix to Postfix, and get the value for Postfix. * Date: 2013/3/8 * NolanJian */#include #include #include struct stacknode;typedef struct stacknode Stack
2013-03-08 22:02:33 816
原创 单链表 SingleList
/* * Date: 2013/3/4 * Writer: NolanJian * This is a simple programming for some easy operate of single list. * */#ifndef SINGLELIST_H#define SINGLELIST_H#include #include #include #define
2013-03-04 20:32:33 792
原创 cpp_manipulator
//Date 2013/1/22//test for 19 manipulator//dec, endl, fixed, hex, oct, left, right//scientific, setfill(c), setprecision(n), setw(n)//showpoint, showpos#include #include using namespace std;
2013-01-22 10:06:55 460
原创 快排示例
#include#include#include#define size 30000#define SWAP(x, y, t) ((t = x), (x = y), (y = t))int num[size];void quicksort(int list[], int left, int right);int main(){ int i; srand(time(NULL));
2012-11-05 11:10:05 438
原创 名字空间示例
#includenamespace pers{ struct Person { std::string fname; std::string lname; }; void getPerson(Person &); void showPerson(const Person &);}namespace debts{ using namespace pers; stru
2012-09-29 10:51:51 414
原创 股票系统类模型class体验
#ifndef STOCK00_H_#define STOCK00_H_#includeclass Stock{private: std::string company; long shares; double share_val; double total_val; void set_tot() {total_val = share_val * shares;}publi
2012-09-20 20:04:08 731
原创 c++函数功能 引用 & 重载 & 默认参数 & 内联
/* c++新功能小程序 引用 & 重载 & 默认参数 & 内联*/#includeinline double square(double x = 2);inline double square2(double &x);int fun(int a, int b);double fun(double a, double b);int main(){ double a; std
2012-09-10 21:16:05 681
原创 string小code
#include#includeint main(){ std::string s = "What about us?"; std::cout << s << std::endl; return 0; }#include#includeint main(){ std::string s1 = "abcdefg"; std::string s2 = "abcdefg"; s
2012-09-08 20:55:24 464
原创 初识bool
#includeint main(){ bool k[100]; int i; for(i = 0; i < 100; i++) if(i % 2 == 0) k[i] = true; else k[i] = false; for(i = 0; i < 100; i++) printf("%d ", k[i]); return 0; }
2012-09-08 20:46:31 385
原创 <ctype.h>测试
/*Tesing code for */#include#includevoid create(char *);void testing(char *);void test_isalnum(char *);void test_isalpha(char *);void test_iscntrl(char *);void test_isdigit(char *);void test_
2012-09-02 11:20:13 626
原创 构建随机迷宫
/* 构建迷宫 */#include#include#define MAX_SIZE 100short int maze[MAX_SIZE][MAX_SIZE];void create_maze(int n, int m){ int i, j; for(i = 0; i < n + 2; i++) maze[0][i] = maze[m + 1][i] = 1; for(i
2012-09-02 11:06:28 648
原创 双端队列部分操作(剩下部分待补)
/* 双端队列操作 */#define MAX_QUEUE_SIZE 100#define TRUE 1#define FALSE 0#define IS_QUEUE_EMPTY(front, rear) (front == rear ? TRUE: FALSE)#define IS_QUEUE_FULL(rear) ((rear == MAX_QUEUE_SIZE - 1 && fro
2012-09-01 22:00:03 560
原创 循环队列操作
/* 循环队列操作 */#define MAX_QUEUE_SIZE 100#define TRUE 1#define FALSE 0#define IS_QUEUE_EMPTY(front, rear) (front == rear ? TRUE: FALSE)#define IS_QUEUE_FULL(rear) (rear == MAX_QUEUE_SIZE - 1 ? TRUE:
2012-09-01 21:19:30 553
原创 线性队列操作
/* 线性队列操作 */#define MAX_QUEUE_SIZE 100#define TRUE 1#define FALSE 0#define IS_QUEUE_EMPTY(front, rear) (front == rear ? TRUE: FALSE)#define IS_QUEUE_FULL(rear) (rear == MAX_QUEUE_SIZE - 1 ? TRUE:
2012-09-01 21:06:16 475
原创 栈操作(验满,验空,删除,添加)
/* 栈操作 */#define MAX_STACK_SIZE 100#define TRUE 1#define FALSE 0#define IS_STACK_EMPTY(top) (top < 0 ? TRUE : FALSE)#define IS_STACK_FULL(top) (top >= MAX_STACK_SIZE - 1 ? TRUE : FALSE)typedef
2012-09-01 16:02:34 1968
原创 两多项式相乘(带求值)
#include#include#include#define swap(x, y, t) ((t)=(x),(x)=(y),(y)=(t))#define MAX_SIZE 1000void readpoly( int *starta, int *startb, int *finisha, int *finishb);void muti(int starta, int startb
2012-08-31 11:18:08 916
原创 两个多项式相乘
#include#include#define swap(x, y, t) ((t)=(x),(x)=(y),(y)=(t))#define MAX_SIZE 1000void readpoly( int *starta, int *startb, int *finisha, int *finishb);void muti(int starta, int startb, int fin
2012-08-30 21:08:34 1706
原创 两个多项式相加
#include#include#define MAX_SIZE 1000void readpoly( int *starta, int *startb, int *finisha, int *finishb);int cmp(int a, int b);void attach(float coefficient, int expoent);void padd(int starta,
2012-08-30 17:16:10 811
原创 n阶幻方
#include#define MAX_SIZE 35int main(){ static int square[MAX_SIZE][MAX_SIZE]; int i, j, row, column; int count; int size; printf("Enter size: "); while(scanf("%d", &size) != EOF){ if(size M
2012-08-26 16:57:19 2010
转载 单源多目标最短路径模型
/* 单源多目标最短路径模型 ————从顶点v到其他顶点的最短距离*/#define MAX_VERTICE 100#define TRUE 1#define FALSE 0int cost[MAX_VERTICE][MAX_VERTICE];int distance[MAX_VERTICE];short int found[MAX_VERTICE];int n = MAX_
2012-08-24 09:38:26 2438
原创 生成组合
//生成组合#include#define N 6#define r 3void combine(int pos, int h);char ch[] = {'A', 'B', 'C', 'D', 'E', 'F'};int C[N];int used[N + 1] = {0};int main(){ combine(0, 0); getch();}void combine
2012-08-11 16:38:25 482
原创 N皇后问题(回溯)
/*N皇后问题*/#include#define FALSE 0#define TRUE 1#define N 8 //N为要放的皇后个数 int x[N + 1];int flag;void n_queen(int n);void backtrack(int t);int main(){ n_queen(N); getch();}void n_queen(in
2012-08-11 16:10:31 1128
原创 生成全排列
/*生成全排列*/#include#define n 4#define r 3#define swap(x, y, t) ((t)=(x),(x)=(y),(y)=(t))int count = 0;void perm(char *list, int i, int m);int main(){ char list[] = {'A', 'B', 'C', 'D'}; perm(l
2012-08-11 09:55:42 1683
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人