786 1 分钟

# 3. 循环队列 1) 定义 队空 sq.front==sq.rear队满 sq.front==sq.rear或者: 另外设一个标志存储队中元素个数num==0代表队空,num==MAXSIZE代表队满 少用一个元素空间: 队空:front==rear 队满:(rear+1)%M==front2) 基本操作 typedef struct{ datatype data[M] ; int front ; int rear ; int count ; // 记录队中元素个数} cirqueue ;//0) 初始化 q->front=q->rear =...
542 1 分钟

# 队列 # 1. 概念 队列是只允许在一端删除,另一端插入的线性表,允许删除的一端叫队头 (front), 允许插入的一端叫队尾 (rear)。 特点:先进先出 (FIFO) # 2. 顺序队列 1. 语言描述 #define MAXSIZE 1024 // 最大队列长度typedef struct{datatype data[MAXSIZE]; /* 队员的存储空间 */int rear,front; /* 队头队尾指针 */}SqQueue;2. 具体操作 置空队: sq.front= sq.rear=0入队: sq.data[sq.rear]=x;...
661 1 分钟

# 链栈 # 1. 概念 链式存储结构:用于收集计算机存储器中所有空闲存储空间,来保存自栈底到栈顶的数据元素。 链栈:链式存储结构栈称为链栈。 # 2. 定义 typedef struct node{ StackElementType data; struct node *next;}LinkStackNode;typedef LinkStackNode *LinkStack;# 3. 操作 1) 进栈 int Push(LinkStack top, StackElementType x)/* 将数据元素 x 压入栈 top 中...
1.5k 1 分钟

# 顺序栈 # 1. 概念 顺序存储结构:利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。 顺序栈:顺序存储结构的栈称为顺序栈。 # 2. 定义 //1. 顺序栈的静态定义#define MAXSIZE 1024typedef struct{ ElemType data[MAXSIZE]; int top;}SqStack;//2.顺序栈的动态定义 typedef struct{ SElemType *base; SElemType *top; int stacksize; }SqStack; # 3....
1.4k 1 分钟

# 栈的应用 1. 括号匹配的检验 int pipei(){ sqstack s; char c; s.top=0; scanf(“%c”,&c); while(c!=’#’){ switch(c){ case ‘(‘ : push(s,c); scanf(“%c”,&c);break; case ‘{‘ : push(s,c); scanf(“%c”,&c);break; case ‘<‘ : push(s,c);...
-->