现在的位置: 首页 > 综合 > 正文

一步一步复习数据结构和算法基础-栈和队列(1)

2018年04月28日 ⁄ 综合 ⁄ 共 552字 ⁄ 字号 评论关闭

  栈和队列也是重要的数据结构.从数据结构角度来说,栈和队列也是线性表.但是栈和队列的基本操作是

线性表的操作子集.可以称之为限定性的数据结构.但是在数据类型上它们和线性表大不相同.

  我想还是先学学栈和队列的基本操作吧.

   栈:

      栈的结构: 栈顶 栈底

      对于n个元素,第一个入栈的称之为栈底,最后一个入栈的称之为栈顶.

      栈的进出原则是后进先出或者是先进后出. 即 LIFO  或者  FILO.

     栈的声明:

    

typedef struct {
  SElemtype *base;  //栈构造之前和销毁之后,base 的值均为 NULL
  SElemtype *top;  //栈顶指针
  int stacksize;  //栈的容量
}SqStack;

 

  队列:

     队列和栈有些类似,但是队列是 先进先出的,而且队列是在一端进行插入(队尾),在另一端进行删除(队首).

  队列的声明:

typedef struct QNode
{
	QElemtype data;		//队列数据类型
	struct QNode *next;
}QNode,*QueuePtr;
typedef struct
{
	QueuePtr front;		//队头指针
	QueuePtr rear;		//队尾指针
}LinkQueue;

 

 

  这些知识栈和队列的皮毛,算法的实现还要研究一下.

   

 

抱歉!评论已关闭.