文章目录
写在前面
文章会不定时更新~~~求三连~
先来认识线性数据结构
1.特点:所有元素都排成了一排;
2.在数据元素的非空有限集合中,还有以下几个特点
【1】存在唯一的一个被称为第一个的元素;
(大白话:第一个只有一个。你想想,排成一列,不就只有一个排头吗)
【2】存在唯一的一个被称为最后一个的元素;
(同上,队尾也只有一个)
【3】 除第一个之外,集合中的每个元素都只有一个前驱;
(除排头外,每个人前面都有人)
【4】 除最后一个之外,集合中的每个元素都只有一个后继;
(除队尾外,每个人后面都有人)
3.举个栗子[]( ̄▽ ̄)*:
定义一个普普通通的数组:
int a[100];
地球人都知道, 这玩意的第一个元素是
a[0]
最后一个元素是
a[99]
当
0<i<100
时,
a[i]
的前驱是
a[i-1]
当
0<=i<99
时,
a[i]
的前驱是
a[i+1]
4.这部分就撒花完结啦
言归正传-栈
栈的定义
来来来,不管怎么样,先把万恶的定义搞上(好像还挺押韵 )
1.栈(stack)是一种特殊的线性数据结构,栈中的元素按照入栈顺序线性的排列。
2. 栈仅允许在表的一端进行插入和删除运算,这一端被称为栈顶。相对的,我们把另一端称为栈底。
3.栈的特点是后进先出(LIFO,Last In First Out),即最后入栈的元素最先出栈。
栈的实现
栈本身就是一个线性表。我们可以用一个数组简单的实现栈的所有操作。
int Stack[MAX_SIZE