数据结构
文章平均质量分 65
golden_dreams
努力学习中
展开
-
函数结果状态代码
typedef int Status #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #d原创 2016-12-12 17:34:48 · 2963 阅读 · 0 评论 -
1.2线性表的顺序表示和实现
//线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素 //通常用数组来描述数据结构中的顺序存储结构 //—— —— —— ——线性表的动态分配顺序存储结构—— —— —— —— #define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量 #define LISTINCREMENT 10 //线原创 2016-12-12 17:36:13 · 225 阅读 · 0 评论 -
1.1线性表的类型定义
ADT List { 数据对象:D = { a( i ) | a( i ) 是用户自定义类型的元素,i = 1,2,3,4...,n , n>=0} 数据关系:R1={ | a( i - 1 ),a( i )属于D i = 2,3,4...,n} 基本操作: InitList( &L ) 操作结果:构造一个空的线性表L原创 2016-12-12 17:35:34 · 786 阅读 · 1 评论 -
1.3.1线性链表之动态(malloc)链表
/*************线性表单链表存储结构 typedef struct LNode { ElemType data; //数据域 struct *next; //指针域 }LNode, *LinkList; //查看链表中第i个元素,用e返回其值 Status GetEle原创 2016-12-12 17:37:19 · 380 阅读 · 0 评论 -
1.3.1线性链表之静态(结构体数组)链表
结构表示 #define MAXSIZE 1000 //链表的最大长度 typedef struct { ElemType data; int cur; //该结点所在位序 }component , SLinkList[MAXSIZE]; //在静态链表中查找第 1 个值为e的元素, /原创 2016-12-12 17:38:04 · 883 阅读 · 0 评论 -
1.3.3线性表的链式存储结构adt
//结点类型 typedef struct LNode{ ElemType data; struct LNode *next; }*Link,*Position; //链表类型 typedef struct LNode{ Link head,tail; //分别指向线性链表中的头结点和最后一个结点原创 2016-12-12 21:05:52 · 357 阅读 · 0 评论 -
1.3.2循环链表,双向链表
循环链表: 是另一种形式的链式存储结构。它的特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。 循环链表的操作和线性链表基本一致,差别仅在于算法中的循环条件不是p或p->next是否为空,而是他们 是否等于头指针; 双向链表: 双向链表的结点中有两个指针域,其一指向直接后继,另一指向直接前驱 //------线性表的双向链表存储结构-----原创 2016-12-12 21:05:19 · 180 阅读 · 0 评论