数据结构
凌恒零
这个作者很懒,什么都没留下…
展开
-
栈的静态实现
含义:用数组实现的栈就是静态栈,缺点是限制了栈的大小,优点是遍历简单结构代码typedef struct staticStack{ int data[MAXSIZE]; int top;//栈顶指针 }SqStack,*pStack; 1、初始化void init_Stack(pStack s){ //将栈顶指向下标为0 s->top=0;} 2、进栈void P原创 2016-04-12 11:00:32 · 912 阅读 · 0 评论 -
栈的动态实现
动态栈是用链表实现的,优点是栈的内存充足。结构代码/节点 typedef struct Node{ int data; struct Node *pNext;}NODE,*PNODE;//栈 typedef struct Stack{ PNODE pTop; PNODE pBottom;}STACK,*PSTACK;1、初始化void init(PSTACK原创 2016-04-12 14:46:53 · 394 阅读 · 0 评论 -
二叉树的实现
结构代码typedef struct BiTNode{ char data;//数据域 struct BiTNode *lchild,*rchild;//左右孩子指针 }BiTNode,*BiTree;1、建立二叉树 ,#表示空树 void CreateBitree(BiTree *T){ char ch; //输入节点的数据 scanf("%c",&ch原创 2016-04-12 15:54:32 · 478 阅读 · 0 评论 -
队列的实现
含义:一种先进先出的存储结构,即只允许一端进行插入操作,另外一端进行删除操作类型:顺序存储结构(循环队列)和链式存储结构(链队列)循环队列含义:头尾相接的顺序存储结构的队列,用数组实现。结构代码typedef struct Queue{ //int *pBase; int data[MAXSIZE]; int front;//头指针 int rear;//尾指针原创 2016-04-10 15:08:53 · 501 阅读 · 0 评论 -
单链表的实现
1、单线表的存储结构typedef struct Node{ int data;//数据域 struct Node* pNext;//指针域 }NODE ,*PNODE;//NODE相当于struct Node ,PNODE相当于struct Node* 2、单线表的初始化//创建链表PNODE create_list(){ int len;//用来存放节点的个数原创 2016-04-01 17:16:23 · 412 阅读 · 0 评论 -
线性表的顺序存储的实现
1、线性表的顺序存储的结构代码struct Arr{ int* pBase;//数组首地址 int len;//分配空间的长度 int cnt;//线性表实际长度 };2、初始化//length为分配的长度void init_arr(struct Arr* pArr,int length){ //分配空间 pArr->pBase=(int*)mallo原创 2016-04-01 12:13:06 · 476 阅读 · 0 评论 -
静态链表的实现
含义:用数组描述的链表叫做静态链表。 静态链表实际上是为给没有指针的高级语言设计的一种实现单链表的方法结构typedef struct { int data;//数据域 int cur;//游标 }COMPONENT,STATICLIST[MAXSIZE];由data和cur两个数据域组成,数据域data用来存放数据,cur相当于单链表的指针域,数组的第一个元素和最后一个元素不存原创 2016-04-09 16:15:45 · 730 阅读 · 0 评论