- 博客(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
1185
原创 Dinic
#include #include #include #include #include #define MAXV 1000 #define INF 0xfffff using namespace std; struct edge { int to; //终点 int cap; //容量 int rev; //方向边下标 }; vecto
2013-08-17 15:34:30
711
原创 Ford-Fulkerson
#include #include #include #define INF 0xfffff #define MAXV 100 using namespace std; struct edge { int to; //终点 int cap; //容量 int rev; //反向边 }; vector G[MAXV]; //图的邻接表 bool
2013-08-17 15:33:41
761
原创 match_flow
#include #include #include #define MAXN 1000 #define MAXK 1000 int N, K; bool can[MAXN][MAXK]; //can[i][j] 计算机i能处理任务j void solve(void) { int s = N + K, t = s + 1; // 0~N-1:
2013-08-17 15:32:57
708
原创 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
927
原创 最小堆
/* * 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
852
原创 最大堆
/* * 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
696
原创 AOE
/* * AOE Activity on edge network * Data: 2013/3 27 * NolanJian */ #include #include #include #define MAX_VERTEX 100 #define TRUE 1 #define FALSE 0 struct node; struct hnode; stru
2013-03-28 15:44:33
740
原创 AOV 拓扑排序
/* * AOV * TopSort * Date: 2013/3/27 * NolanJian */ #include #include #include #define MAX_VERTEX 100 struct node; struct hnode; typedef struct node Node; typedef struct hno
2013-03-27 19:22:04
798
原创 Dijkstra_And_Ford
/* * Dijkstra And Ford * Date: 2013/3/25 * NolanJian */ #include #include #include #include #define MAXSIZE 1001 #define TRUE 1 #define FALSE 0 int choose(void); void Input(voi
2013-03-25 15:47:15
628
原创 图基本操作
/* * Graph Basic Operation * DFS(), DFS_R(), BFS(), CreateAdjacencyList(), Add(). * StackPush(), StackPop(), StackGetTop(). * QueuePush(), QueuePop(), QueueGetFront(). * Connected()
2013-03-22 14:49:44
689
原创 树的基本操作
/* * 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
846
原创 二叉查找树
/* * 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
720
原创 产生随机数
/* * * */ #include #include #include #include #define size 1001 int 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
587
原创 表达式树
/* * 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
713
原创 后序非递归
/* * 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
885
原创 转换二叉树
Description DJ非常痴迷于数据结构,二叉树是他最喜欢的结构模型。这种每个顶点的度不大于2的简单的图总是能激发他的灵感。然而,二叉树的表示方法是一个困扰他已久的问题。如果用链表表示,不直观;画成图形,计算机又难以存储。好在他现在发现了一种既直观,计算机又便于存储的表示方法。该方法定义如下: 1、如果二叉树中节点X是叶子节点,则该节点直接表示为X。 2、如果二叉树中节点X有左子树,则
2013-03-09 09:55:50
895
原创 中缀转后缀&后缀求值
/* * 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
855
原创 单链表 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
839
原创 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
500
原创 快排示例
#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
460
原创 名字空间示例
#include namespace 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
448
原创 股票系统类模型class体验
#ifndef STOCK00_H_ #define STOCK00_H_ #include class 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
781
原创 c++函数功能 引用 & 重载 & 默认参数 & 内联
/* c++新功能小程序 引用 & 重载 & 默认参数 & 内联 */ #include inline 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
725
原创 string小code
#include #include int main() { std::string s = "What about us?"; std::cout << s << std::endl; return 0; }#include #include int main() { std::string s1 = "abcdefg"; std::string s2 = "abcdefg"; s
2012-09-08 20:55:24
494
原创 初识bool
#include int 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
420
原创 <ctype.h>测试
/*Tesing code for */ #include #include void 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
662
原创 构建随机迷宫
/* 构建迷宫 */ #include #include #define MAX_SIZE 100 short 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
670
原创 双端队列部分操作(剩下部分待补)
/* 双端队列操作 */ #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
601
原创 循环队列操作
/* 循环队列操作 */ #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
592
原创 线性队列操作
/* 线性队列操作 */ #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
507
原创 栈操作(验满,验空,删除,添加)
/* 栈操作 */ #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
2012
原创 两多项式相乘(带求值)
#include #include #include #define swap(x, y, t) ((t)=(x),(x)=(y),(y)=(t)) #define MAX_SIZE 1000 void readpoly( int *starta, int *startb, int *finisha, int *finishb); void muti(int starta, int startb
2012-08-31 11:18:08
965
原创 两个多项式相乘
#include #include #define swap(x, y, t) ((t)=(x),(x)=(y),(y)=(t)) #define MAX_SIZE 1000 void readpoly( int *starta, int *startb, int *finisha, int *finishb); void muti(int starta, int startb, int fin
2012-08-30 21:08:34
1789
原创 两个多项式相加
#include #include #define MAX_SIZE 1000 void 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
863
原创 n阶幻方
#include #define MAX_SIZE 35 int 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
2058
转载 单源多目标最短路径模型
/* 单源多目标最短路径模型 ————从顶点v到其他顶点的最短距离 */ #define MAX_VERTICE 100 #define TRUE 1 #define FALSE 0 int cost[MAX_VERTICE][MAX_VERTICE]; int distance[MAX_VERTICE]; short int found[MAX_VERTICE]; int n = MAX_
2012-08-24 09:38:26
2520
原创 生成组合
//生成组合 #include #define N 6 #define r 3 void 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
513
原创 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
1157
原创 生成全排列
/*生成全排列*/ #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
1721
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人