
数据结构
文章平均质量分 78
baother0
这个作者很懒,什么都没留下…
展开
-
栈的使用(3)-走楼梯问题
走楼梯问题: 有n阶台阶,每次只可以走1阶或2阶,有多少中走法? 可以用递归实现: 如果对递归比较的熟悉的话,可以很快将递归的代码转化成非递归的; #include "stdio.h" #include "1.h" int count = 0; int count2 = 0; //将上面的递归的改成用栈来实现! void result3 (int n,int i) { if原创 2012-03-04 23:27:46 · 679 阅读 · 0 评论 -
循环队列
队列是一种受限制的线性表,在对头头删除,在队尾插入 def.h #include "stdio.h" #include "stdlib.h" #define TRUE 1 #define ERROR -1 #define FALSE 0 #define OVERFLOW -1 #define OK 1 typedef int Status; typedef char El原创 2012-03-09 12:09:29 · 396 阅读 · 0 评论 -
队列-链式
def.h#include "stdio.h" #include "stdlib.h" #define ERROR -1 #define TRUE 1 #define FALSE 0 #define OVERFLOW -1 #define OK 1 typedef int Status; typedef char ElemType; 1,h //队列是一种限制的线性表原创 2012-03-08 22:40:58 · 462 阅读 · 0 评论 -
数组的顺序表示和实现
#include "stdio.h" #include "stdarg.h"//标准的都文件,提供va_start,va_arg,va_end,用于存储变长的参数 #define MAX_LENGH 8//规定数组的最大的维数 #include "stdlib.h" typedef int Status; typedef int ElemType; #define OK 1 #d原创 2012-03-21 21:55:31 · 977 阅读 · 0 评论 -
带有头尾节点的链表
typedef int ElemType; typedef int boolean; #define OK 1 #define ERROR -1 typedef struct Node { ElemType data; struct Node *next; }NNode; typedef NNode *link; typedef struct { int length原创 2012-03-07 09:04:09 · 1955 阅读 · 0 评论 -
表达式求值
#include "stdio.h" #define STACK_INIT_SIZE 10 #define STACKINCRENT 4 #include "stdlib.h" #include "string.h" #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR -1 #define OVERFLOW -1原创 2012-03-21 14:49:49 · 502 阅读 · 0 评论 -
栈的使用(1):求二叉树的叶子节点的个数
#include "stdio.h" #include "stdlib.h" typedef char Elem; typedef struct Node { Elem data; struct Node *lchild; struct Node *rchild; }Node,*BiTree; typedef BiTree ElemType; //start stack原创 2012-03-04 23:07:25 · 1003 阅读 · 0 评论 -
线性表的归并
void MergeList (SqList *a,SqList *b,SqList *c) { int i = 1; int j = 1; int l_a = a->length; int l_b = b->length; int k = 1; ElemType a1,b1; while (i <= l_a && j <= l_b) { GetElem (a,i原创 2012-03-06 22:51:34 · 494 阅读 · 0 评论 -
单链表
头文件: struct Node { ElemType data; struct Node *next; }; typedef struct Node *LinkList; 1.c基本的操作 Status InitList (LinkList *list) { //返回一个空的线性表 *list = (LinkList)malloc (sizeof(struc原创 2012-03-06 22:49:39 · 414 阅读 · 0 评论 -
文件结构“图”
描述在计算机上看到文件系统的结构通常很有用。Microsoft Windows上面的"explorer"程序就是这样的一个例子。但是在有图形界面之前,没有图形化的表示方法的,那时候最好的方式是把目录和文件的结构显示成一个"图"的样子,而且使用缩排的形式来表示目录的结构。比如: 这个图说明:ROOT目录包括两个文件和三个子目录。第一个子目录包含3个文件,第二个子目录是空的,第三个子目录包含一个文件原创 2012-03-11 17:51:59 · 2501 阅读 · 0 评论 -
栈的使用(2)----n皇后问题
#include "stdio.h" #include "malloc.h" #define MAX 20 typedef int Elem; typedef struct { Elem *rows;//在表格中的行 int length;//表示栈中元素的数量 }Stack; void initStack (Stack *stack) { stack-原创 2012-03-04 23:17:07 · 610 阅读 · 0 评论 -
栈
顺序栈 头文件 #define STACK_INIT_SIZE 10 #define STACKINCRENT 4 struct stack { ElemType *base;//在构造 ElemType *top;//栈顶指针 int stacksize; };//顺序栈 typedef struct stack Stack;#include "stdio.h" #in原创 2012-03-07 16:20:26 · 462 阅读 · 0 评论 -
算法导论-优先级队列
//优先级队列 //堆的一个很常见的应用:作为高效的优先级队列(priority queue)。 //优先级队列和堆一样有二种:最大优先级队列和最小优先级队列, 优先级队列是一种维护由一组元素构成的集合S的数据结构,这一组元素中的每一个都有一个关键字key一个最大优先级队列支持下面的操作: /*1:INSERT(S,x):把元素x插入集合S中。 *2:MAXIMUM(S):返回S中具有最大关键字原创 2013-08-30 13:17:08 · 1018 阅读 · 0 评论 -
顺序表
1.h #define LIST_INIT_SIZE 10 #define LISTINCREMENT 5 typedef struct { ElemType *elem; int length; int listsize; } SqLi顺序表的基本操作 //线性表的基本的操作 Status InitList(SqList *l) { l->elem = (E原创 2012-03-05 22:13:14 · 569 阅读 · 0 评论