数据结构与算法之数据结构的基本概念堆栈1

栈有两种一种是基于顺序表的堆栈,一种是基于链式表的堆栈。

基于顺序表的堆栈

栈是一种特殊的线性表是限定在线性表表尾进行插入删除操作的线性表。由栈的概念衍生出得几个子概念他们是:

1)栈顶,即允许进行插入、删除操作的一端,又称表尾,用栈顶指针(top)来指示栈顶元素。

2)栈底,即固定端,又称为表头。

3)空栈,即栈当中没有数据元素。

顺序栈是采用顺序存储结构的栈,即使用一组连续的存储单元(一般使用数组)来模拟栈,以此存放栈中的数据元素。

1.1方案

顺序栈的基本内容包括:

1)初始化操作,在初始化操作中将建立一个空栈。

2)判断栈空,判断栈中的数据元素个数是否为0.

3)入栈,在栈中加入一个数据元素。

4)出栈,在栈中删除宇哥数据元素。

5)取栈顶元素,将栈顶元素取出,但并不在栈中删除该元素。

1.2步骤

实现此案例需要按照如下步骤进行。

步骤一:定义栈

在C语言中:

1)定义一个数组来表示栈的顺序存储空间。

2)定义一个变量来指出栈顶的位置。

3)这两方面的信息共同描述一个栈,可将他们用结构体封装在一起。

代码如下:

#defineLISTSIZE10

typedefintDataType;

structStack{DataTypedata[LISTSIZE];

inttop;//除了记录大小,还可以记录栈顶位置

};

上述代码中以下代码:

#defineLISTSIZE

是一个宏常亮来定义顺序表的容量,这样定义的好处是当需要修改顺序表的容量的时候,只需修改该宏常量即可。

上述代码中,一下代码:

typedefintDataType;

是将数据类型int起一个别名叫做DataType,并在后面的程序中使用DataType,而不使用int。这样的好处是当堆栈中的数据类型发生变化时,只需要修改此句中的int为要改变的数据类型,即可将程序中所有数据变量的数据类型变成指定的类型。

赞赏

长按







































骨肽注射液说明书
白癜风的治疗医院



转载请注明:http://www.92nongye.com/gaishu/204618929.html