博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
栈、队列和数组
阅读量:5071 次
发布时间:2019-06-12

本文共 1511 字,大约阅读时间需要 5 分钟。

一、栈和队列的基本概念

 1.栈是一种线性表无疑。一般提供两种操作:入栈(PUSH) 和出栈( POP)。分别对应着数据插入和数据删除。

  队列的话,也是一种线性表。和栈不同的是,栈只能在栈顶操作(PUSH&POP),而队列被限制为从一端入,从另一端出。

  这里的栈和队列指的都是最一般的情况。

 2.栈是先进后出的(First In Last Out, FILO),队列是先进先出的(First In First Out, FIFO)。

 从真题来看,这部分题考概念的比较简单。

二、栈和队列的顺序存储结构

  1、顺序栈

1 //定义2 typedef struct3 {4     int data[max_size];//比如 int data[100];5     int top; //栈顶6 }SqStack;

  考试的时候,简单的可以这么写

1 int myStack[max_size];//例如int myStack[1000];2 int top = -1;3 4 //Push key5 myStack[++top] = key;6 //POP7 key = myStack[top--];

  2、顺序队

1 typedef struct2 {3         int data[max_size];4         int front;5         int rear;6 }SqQueue;

  3、循环队列

  front和rear循环。

  rear不能超过front一圈。

  这部分内容比较绕的就是循环队列,还有就是队头队尾的位置判断,还有对队列为空和为满的判断。

三、栈和队列的链式存储结构

  1、栈 链式实现

1 typedef struct LNode 2 { 3     int data; 4     struct LNode *next; 5 }LNode, *LinkStack; 6  7 //PUSH 8 newLNode->data = key; 9 newLNode->next = headLNode->next;10 headLNode->next = newLNode;11 12 //POP13 temp = headLNode->next;14 key = temp->data;15 headLNode->next = temp->next;16 free(temp);

  2、队列 链式实现

1 typedef struct QNode 2 { 3     int data; 4     int QNode *next; 5 }QNode; 6  7 typedef struct 8 { 9     QNode *front;10     QNode *rear;11 }LinkQueue;12 13 //入队14 lqu->rear->next = p;15 lqu->rear = p;16 //出队17 p = lqu->front;18 lqu->front = p->next;19 key = p->data;20 free(p);

四、栈和队列的应用

  栈的话,很常规的一个东西就是表达式计算。

  队列的话,CPU资源竞争的问题、主机和打印机之间的协调等等。

五、特殊矩阵的压缩存储

  1、对称阵A压缩到SA[n(n+1)/2];

  2、三角矩阵A压缩到SA[n(n+1)/2];

  3、对角矩阵

 

转载于:https://www.cnblogs.com/helpless/p/4371825.html

你可能感兴趣的文章
C# Async与Await的使用
查看>>
Mysql性能调优
查看>>
iOS基础-UIKit框架-多控制器管理-实例:qq界面框架
查看>>
自定义tabbar(纯代码)
查看>>
小程序底部导航栏
查看>>
poj1611 简单并查集
查看>>
Ubuntu 14.04下安装CUDA8.0
查看>>
跨平台开发 -- C# 使用 C/C++ 生成的动态链接库
查看>>
C# BS消息推送 SignalR介绍(一)
查看>>
WPF星空效果
查看>>
WPF Layout 系统概述——Arrange
查看>>
PIGOSS
查看>>
几款Http小服务器
查看>>
openSuse beginner
查看>>
Codeforces 620E(线段树+dfs序+状态压缩)
查看>>
css3动画属性
查看>>
Mongodb 基本命令
查看>>
控制文件的备份与恢复
查看>>
软件目录结构规范
查看>>
mysqladmin
查看>>