
数据结构
wxwzy738
这个作者很懒,什么都没留下…
展开
-
顺序表的练习
#include#include#define ERROR 0#define OVERFLOW -2 //在这里申明的时候不用加上;号 #define OK 1#define LISTINCREMENT 10 //线性表存储空间的分配增量#define LIST_INIT_SIZE 100 //线性表的存储空间的初始分配量typedef int Ele原创 2012-04-24 19:03:53 · 805 阅读 · 0 评论 -
简单模拟ArrayList的一些方法
#include #include struct Arr{ int * pBase;//存储的是数组的第一个元素的地址 int len; //数组所能容纳的最大元素的个数 int cnt;//当前数组有效元素的个数 }; void init_arr(struct Arr *,int);//初始化 void append_arr(struct Arr *);//追加 void原创 2012-07-28 22:54:41 · 869 阅读 · 0 评论 -
动态栈的基本操作
#include #include typedef struct Node{ int data; struct Node* pNext; }NODE,*PNODE; typedef struct Stack{ PNODE pTop; PNODE pBottom; }STACK,*PSTACk; void init(PSTACk);//栈初始化 void push(PSTAC原创 2012-07-29 21:43:45 · 2846 阅读 · 0 评论 -
静态队列、循环队列基本操作
#include #include //静态队列,循环队列 typedef struct Queue{ int * base; int front;//队首 int rear;//队尾 int len;//队列长度 }QUEUE,*PQUEUE;void init(PQUEUE);//初始化 void in(PQUEUE);//入队 void out(PQUEUE,int原创 2012-08-02 22:43:33 · 4827 阅读 · 1 评论 -
链表的增删排序等操作
#include #include typedef struct Node{ int data;//数据域 Node * pNext; //指针域 }NODE,*PNODE;//NODE等价于struct Node,PNODE等价于struct Node *PNODE create_list();//创建链表 void show_list(PNODE);//打印链表 int g原创 2012-07-29 18:03:03 · 2197 阅读 · 0 评论 -
数据结构小知识点
1,链表专业术语: 首节点:第一个有效节点 尾节点:最后一个有效节点 头结点:第一个有效节点之前的那个节点,头结点并不存放有效数据,加头结点的目的主要是为了方便对链表的操作 头指针:指向头结点的指针变量 尾指针:指向尾节点的指针变量原创 2012-07-29 00:11:43 · 878 阅读 · 0 评论 -
链式静态二叉树遍历
#include #include //静态创建二叉树typedef struct TNode{ char data; struct TNode * pLchild; struct TNode * pRchild; }TNODE,*PTNODE; PTNODE CreateTree();//创建二叉树 void PrePrintTree(PTNODE);//先序遍历void原创 2012-08-05 18:49:47 · 1223 阅读 · 0 评论 -
动态队列,链式队列 + 示意图
#include #include //动态队列,链式队列 typedef struct Node{ int data; struct Node * pNext; }NODE,*PNODE; typedef struct Queue{ PNODE front;//队列的出队处 PNODE rear;//队列的入队处 }QUEUE,*PQUEUE; void init(PQ原创 2012-07-30 21:27:02 · 3226 阅读 · 0 评论 -
转一个搞ACM需要的掌握的算法.
要注意,ACM的竞赛性强,因此自己应该和自己的实际应用联系起来. 适合自己的才是好的,有的人不适合搞算法,喜欢系统架构,因此不要看到别人什么就眼红, 发挥自己的长处,这才是重要的. 第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, 因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打 出来.转载 2012-08-10 11:40:23 · 3202 阅读 · 1 评论 -
汉诺塔
#include void hannuota(int n,char A,char B,char C){ if(1 == n){ printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C); } else{ hannuota(n-1,A,C,B); printf("将编号为%d的盘子直接从%c柱子移到%c柱子\n",n,A,C); hannuota(原创 2012-08-04 22:07:38 · 2489 阅读 · 0 评论 -
队列的练习
#include#include#define OK 1#define ERROR 0typedef int Status;typedef int QElemType;typedef struct QNode{ QElemType data; struct QNode * next;} QNode,*QueuePtr;typedef struct{ QueuePtr fro原创 2012-04-24 21:32:07 · 713 阅读 · 0 评论 -
链性表的练习
#include#include#define OK 1#define ERROR 0#define OVERLOW -2typedef int ElemType;typedef int Status;typedef struct sqlist{ ElemType data;//数据域 struct sqlist *next;//指针域 }SqList;//得到该线性表的长原创 2012-04-24 19:05:24 · 1090 阅读 · 0 评论 -
栈-括号匹配的检验
#include#include#define STACK_INIT_SIZE 100//初始分配量 #define STACKINCREMENT 10//存储空间分配增量 #define ERROR 0#define OK 1#define OVERFLOW -2typedef int Status;typedef char ElemType;typedef struct{原创 2012-04-24 19:07:25 · 1375 阅读 · 0 评论 -
栈的练习
#include#include#define STACK_INIT_SIZE 100//初始分配量 #define STACKINCREMENT 10//存储空间分配增量 #define ERROR 0#define OK 1#define OVERFLOW -2typedef int SElemType;typedef int Status;typedef struct{原创 2012-04-24 19:06:28 · 657 阅读 · 0 评论 -
c语言最后一个程序链表
#include #include typedef struct Node{ int data; Node * next; }; Node * createList(){ printf("请输入你要创建的元素的个数:\n"); printf("len="); int len; scanf("%d",&len); Node * phead=(Node *)malloc((si原创 2012-07-27 00:22:11 · 1026 阅读 · 0 评论