一、这里总结下栈和队列分类方法:
按分配存储空间分: 动态分配空间、静态分配空间; 按存储结构(物理结构)分: 顺序存储、链式存储;二、链式都是动态分配存储空间,所以一共有六类:
1、动态分配空间的顺序栈(写过,是书上主推的方法) 2、静态分配空间的顺序栈(写过,方法简单易懂) 3、动态分配空间的链式栈(没写过,关键是用头插法倒序) 4、动态分配空间的循环队列(写过,书上主推写法之一,这里动态分配空间意义不大,毕竟是循环队列,空间大小通常不会中途更改) 5、静态分配空间的循环队列(没写过,和4类基本一样,等于定义了个数组) 6、动态分配空间的链式队列(写过,书上有主要代码,注意定义存放指针的结构体) 关于队列不得不说的: 静态分配空间(其实是数组)的非循环队列: ①队头指针删除后不变化(会假溢出)类型 ②每删除一个元素每一个数据元素都向前移动(不会假溢出)类型三、顺便在说说关于栈和队列的基本操作
概括起来主要的内容有以下八种: 构造、销毁 置空、判空 取头、求长 输入、输出 (有时加上Traverse等)