
数据结构
JXDZ
这个作者很懒,什么都没留下…
展开
-
队列之顺序队列与循环队列
一、队列的概念 只能在表的一端进行插入操作,只能在表的另一端进行删除操作,这种数据结构称为队列。把允许插入的一端叫队尾(rear),允许删除的一端叫对头(front)。 二、队列的分类 队列本身也是一种线性表,因而和线性表一样也有顺序和链式存储结构两种存储方式。 采用顺序存储结构实现的队列称为顺序队列; 采用链式存储转载 2016-03-24 16:03:32 · 2620 阅读 · 0 评论 -
链栈
一、链栈定义 栈可以采用链式存储结构表示,采用这种结构表示的栈简称为链栈。 在一个链栈中,栈底就是链表的最后一个节点,而栈顶总是链表的第一个节点。 二、程序 1、链栈的C语言定义为: typedef struct StackNode { DataType data; Struct Stacknode *next; }转载 2016-03-24 16:04:16 · 653 阅读 · 0 评论 -
线性表之顺序表
一、线性表的定义 从逻辑结构的角度来讲,线性表中各个元素之间是唯一的、并且有序排列的关系。 从存储结构的角度来看,线性表的具体实现过程中可采用顺序存储结构和链式存储结构。 顺序存储结构的线性表称为顺序表,链式存储结构的线性表分为单链表和双链表。 二、顺序表 #include "stdafx.h" #includ转载 2016-03-24 16:05:43 · 291 阅读 · 0 评论 -
循环链表
一、单循环链表 1、定义 如果单链表最后一个节点的指针域改为存放链表中头结点的地址,就使得整个链表构成一个环,这样做并没有增加额外的存储空间,称这样的链表为单循环链表,亦可简称为循环链表。 2、判断 判断一个循环链表为空的条件是head->next == head; 在单链表中循环或选择语句执行条件通常为p != NULL 或 p->next转载 2016-03-24 16:06:17 · 581 阅读 · 0 评论 -
顺序栈
栈(stack) 栈是只能在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。 程序: #include "stdafx.h" #define maxsize 100 us转载 2016-03-24 16:07:01 · 321 阅读 · 0 评论 -
双链表
在单链表中,NextElem的执行时间为O(),而PriorElem的执行时间为O(n)。为了克服这个单向性的缺点,可利用双向链表。 在双链表的结点中有两个指针域,其一指向直接后继,另一指向直接前驱。 功能: (1) 初始化双链表 InitList(DLinkList *&L); (2) 采用尾插法插入a,b,c,d,e元素 Destro转载 2016-03-24 16:07:50 · 416 阅读 · 0 评论 -
单链表
include "stdafx.h" using namespace std; //单链表结构体 typedef struct LNode { int ID; char Name[1024]; struct LNode *next; }LinkList, *pLinkList; pLinkList HeadNode;//链表表头 void转载 2016-03-24 16:09:04 · 414 阅读 · 0 评论