通常称,栈和队列是限定插入和删除只能在表的"端点"进行的线性表。
ADT Stack{
数据对象:....相同类型数据元素的集合
数据关系:....R1 = {<a[i - 1], a[i]> | a[i - 1], a[i]属于数据对象中的数据元素,i = 1.....n;
约定a[n]为栈顶,a[1]为栈底}
}ADT Stack
注:这里的a[?]并非数组,而是方便在记事本中书写。
栈的两个重要操作:
Push(&S, e)
初始条件:栈S已存在。
操作结果:插入元素e为新的栈顶元素。
Pop(&S, &e)
初始条件:栈S已存在且非空。
操作结果:删除S的栈顶元素,并用e返回其值。
ADT Stack{
数据对象:....相同类型数据元素的集合
数据关系:....R1 = {<a[i - 1], a[i]> | a[i - 1], a[i]属于数据对象中的数据元素,i = 1.....n;
约定a[n]为栈顶,a[1]为栈底}
}ADT Stack
注:这里的a[?]并非数组,而是方便在记事本中书写。
栈的两个重要操作:
Push(&S, e)
初始条件:栈S已存在。
操作结果:插入元素e为新的栈顶元素。
Pop(&S, &e)
初始条件:栈S已存在且非空。
操作结果:删除S的栈顶元素,并用e返回其值。