算法和数据结构
文章平均质量分 77
Anthony_yt
这个作者很懒,什么都没留下…
展开
-
顺序栈的实现(C语言)
/* 顺序栈 VS2010 调试*/#include #include #include #define TRUE 1#define FALSE 0#define STACK_INIT_SIZE 100#define STACKINCREASEMENT 10struct SeqStack{ int *elem; int top; int MAXNUM;};原创 2012-09-27 14:22:29 · 2118 阅读 · 0 评论 -
归并排序(递归和非递归方法实现)
/*归并排序VS2010*/#include #include #include #define OK 1#define ERROR 0#define MAXSIZE 50typedef struct{ int value;}RedType; typedef struct{ RedType red[MAXSIZE+1]; int length;}SqLi原创 2012-11-12 17:58:34 · 6220 阅读 · 0 评论 -
交换排序(冒泡排序,快速排序)
/*交换排序:冒泡排序,快速排序运行环境:VS2010*/#include #include #include #include #define OK 1#define TRUE 1#define FALSE 0#define MAXSIZE 50typedef struct{ int value;}RedType;typedef struct{ Red原创 2012-11-08 17:40:30 · 1493 阅读 · 0 评论 -
静态表查找(顺序查找,二分查找,斐波那契查找)
/*静态表查找:顺序查找,二分查找,斐波那契查找运行环境:VS2010*/#include #include #include #include #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 50typedef struct{ int key[MAXSIZE + 1原创 2012-11-14 18:08:36 · 2834 阅读 · 0 评论 -
堆排序
/*堆排序VS2010*/#include #include #include #include #define OK 1#define TRUE 1#define FALSE 0#define MAXSIZE 50typedef struct{ int value; int index;}RedType;typedef struct{ RedType原创 2012-11-09 18:09:54 · 1686 阅读 · 0 评论 -
线索二叉树
/* 线索二叉树 运行环境:vs2010*/#include #include #include #include #define NIL '#'#define OK 1#define ERROR 0typedef struct thread_bitree_node thrbitree;typedef enum{ LINK, //指针 THREAD //线原创 2012-11-06 18:37:06 · 1797 阅读 · 0 评论 -
双指针不带头结点的链栈的实现(C语言)
/* 双指针 不带头结点的链栈 VS2010 调试*/#include #include #include #define TRUE 1#define FALSE 0#define ERROR -1#define OK 1struct Node{ int data; struct Node *next;};struct LStack{ struct Nod原创 2012-09-27 14:28:49 · 3523 阅读 · 0 评论 -
二叉树链式存储的实现
//filename:bitree.h#include #include #include #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define NIL '#' //定义'#'为空节点typedef struct queue_node qnode;typedef struct bitree_nod原创 2012-11-05 17:13:12 · 7253 阅读 · 0 评论 -
线性表——带头结点单链表的实现
/* 带头结点的单链表 vs2010 调试*/#include #include #include typedef struct LinkNode{ int num; struct LinkNode *next;};//获得链表长度int get_length(struct LinkNode *L){ struct LinkNode *trace = L; i原创 2012-09-27 14:14:35 · 2965 阅读 · 0 评论 -
线性表——顺序表的实现
/* 顺序表 VS2010调试*/#include #include #include #include #define LIST_INIT_SIZE 50struct SeqList{ int *elem; int length; int max_size;};//初始化顺序表int fnInitList(struct SeqList *L){ L->原创 2012-09-27 09:52:02 · 2697 阅读 · 0 评论 -
二叉树顺序表示的实现
#include #include #include #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAX_TREE_SIZE 100typedef char seq_bitree[MAX_TREE_SIZE]; //可以把seq_bitree当做一个数据类型用了char nil = ' ';原创 2012-10-29 15:09:27 · 2944 阅读 · 1 评论 -
多维数组的顺序表示
多维数组节点,有四个元素struct array { int *base; //存放数组的元素的基地址 int dim; //表示多维数组的维数 int *bounds; //表示每一维的长度 int *constants; //存放数组映象函数常量基址原创 2012-10-24 09:40:37 · 2260 阅读 · 1 评论 -
稀疏矩阵的转置
//稀疏矩阵的转置#include #include #include #define ELEM_TYEP int#define MAX_SIZE 100typedef struct{ int row; //矩阵中某一元素的行数 int col; //列数 ELEM_TYEP elem; //元素值}elem;typedef struct { elem d原创 2012-10-22 14:08:50 · 2115 阅读 · 0 评论 -
计算中缀表达式的值
首先,将中缀表达式转换成后缀表达式,用压栈的方法:1.遇到操作数,直接输出;2.栈为空时,遇到运算符,入栈;3.遇到左括号,将其入栈;4.遇到右括号,执行出栈操作,直到弹出栈的元素是左括号,左括号不输出;5.遇到其他运算符'+''-''*''/'时,弹出所有优先级大于或等于该运算符的栈顶元素,然后将该运算符入栈;6.遇到结束符后将栈中的元素依次出栈,输出。然后计算后缀表原创 2012-09-29 12:43:18 · 8470 阅读 · 0 评论 -
循环队列的实现(C语言)
/* 循环队列 VS2010 调试*/#include #include #include #define MAX_SIZE 6#define TRUE 1#define FALSE 0#define OVERFLOW 0#define OK 1#define ERROR 0typedef struct seq_queue{ int front; int r原创 2012-09-27 16:00:41 · 2485 阅读 · 0 评论 -
带头结点的链队列实现(C语言)
/* 带头结点的链队列 vs2010 调试*/#include #include #include #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef struct queue_node qnode;typedef struct queue_node{ int data; qnode原创 2012-09-28 09:35:39 · 7658 阅读 · 0 评论 -
二叉排序树的实现
/*二叉排序树VS2010*/#include #include #include #define OK 1#define FALSE 0#define ARRSIZE 10typedef struct BitreeNode Bitree;struct BitreeNode{ int key; Bitree *lchild; Bitree *rchild;}原创 2012-11-15 17:38:50 · 1733 阅读 · 0 评论