数据结构
blacksleeping
云雀叫了一整天。
展开
-
链栈
//链栈的初始化、入栈、出栈、取栈顶元素 typedef struct StackNode { ElemType data; struct StackNode *next; }StackNode,*LinkStack; //初始化 Status InitStack(LinkStack &S) { S=NUll;//建立一个空栈 return Ok; } //入栈 //采用链表...原创 2018-09-26 16:15:57 · 234 阅读 · 0 评论 -
顺序栈的基本操作
//顺序栈的初始化,入栈,出栈,取栈顶元素。 #define MAXSIZE 100 typedef struct { SElemType *base;//栈底指针 SElemType *top;//栈顶指针 int stacksize; }SqStsck; //初始化 Status InitStack(SqStack &S) { S.base=new a[M...原创 2018-09-26 09:21:19 · 378 阅读 · 1 评论 -
单链表
单链表的存储结构代码描述: //线性表的单链表存储结构 typedef struct Node { ElemType data; struct Node *next; }Node; typedef struct Node *LinkList ; //定义LinkList; 单链表的读取: #include<cstdio> Status GetElem(LinkList...原创 2018-08-06 20:01:00 · 121 阅读 · 0 评论 -
2389: 堆栈的使用
题目描述 堆栈是一种基本的数据结构。堆栈具有两种基本操作方式,push 和 pop。Push一个值会将其压入栈顶,而 pop 则会将栈顶的值弹出。现在我们就来验证一下堆栈的使用。 输入 对于每组测试数据,第一行是一个正整数 n,0<n<=10000(n=0 结束)。而后的 n 行,每行的第一个字符可能是'P’或者'O’或者'A’;如果是'P’,后面还会跟着一个整数,表示把这个数据...原创 2018-08-06 19:57:58 · 375 阅读 · 0 评论 -
堆,栈,队列,没有链表。
堆,栈,队列。 (1)堆:什么是堆?又该怎么理解呢? ①堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: ·堆中某个节点的值总是不大于或不小于其父节点的值; ·堆总是一棵完全二叉树。 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。 ②堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内...原创 2018-08-08 20:08:18 · 220 阅读 · 0 评论