二、顺序栈的基本操作分析 1、插入操作Push(e) 插入元素e为新的栈顶元素。 栈的插入操作是往栈顶位置插入(即表尾位置),所以不需要移动数据元素, 直接插入即可。 步骤1)令top值加1 2)在栈顶插入e top e top an a2 a1
e a1 a2 a n . top top 二、顺序栈的基本操作分析 1、插入操作Push(e) 插入元素e为新的栈顶元素。 栈的插入操作是往栈顶位置插入(即表尾位置),所以不需要移动数据元素, 直接插入即可。 步骤 1)令top值加1 2)在栈顶插入e
2 Pop(e) 删除S的栈顶元素,并用e返回其值 栈的删除操作是删除栈顶元素,所以不需要移动数据元素,直接删除即可。 步骤:1)令e=栈顶元素 2)令top值减1 top an an1 top a ni a2 a2 a aj
2 Pop(e) 删除S的栈顶元素,并用e返回其值 a1 a2 a n-1 a n . top a1 a2 a n-1 . top 栈的删除操作是删除栈顶元素,所以不需要移动数据元素,直接删除即可。 步骤:1)令e=栈顶元素 2)令top值减1
三。顺序栈的基本操作的源码实现 几点说明: 1定义顺序栈泛型类SeqStack<T> 顺序栈泛型类SeqStack<T>的实现说明如下所示。 public class SeqStack<T> public T]data; /数组,用于存储顺序栈中的数据元素 public int maxsize;/顺序栈的容量 public int top; /指示顺序栈的栈顶,值是栈顶元素在数组中的下标 /接口成员方法的实现 仍
三.顺序栈的基本操作的源码实现 几点说明: 1定义顺序栈泛型类SeqStack<T> , 顺序栈泛型类SeqStack<T>的实现说明如下所示。 public class SeqStack<T> { public T[] data; //数组,用于存储顺序栈中的数据元素 public int maxsize; //顺序栈的容量 public int top; //指示顺序栈的栈顶,值是栈顶元素在数组中的下标 //接口成员方法的实现 //}
1)C#语言中的数组在内存中占用的存储空间就是一组地址 连续的存储单元,所以,在C#虚拟处理器中考虑问题时, 我们就认为栈的顺序存储就是把栈的数据元素存放到数 组中: 2)Maxsize表示数组的容量;数组的容量可以用 System.Array的Length属性即data.length来表示,但 为了说明顺序栈的最大长度(顺序栈的容量),在 SeqStack<T>类中用字段maxsize来表示。 3)top指示顺序栈的栈顶,值是栈顶元素在数组中的下标
1)C#语言中的数组在内存中占用的存储空间就是一组地址 连续的存储单元,所以,在C#虚拟处理器中考虑问题时, 我们就认为栈的顺序存储就是把栈的数据元素存放到数 组中: 2)Maxsize表示数组的容量;数组的容量可以用 System.Array的Length属性即data.length来表示,但 为了说明顺序栈的最大长度(顺序栈的容量),在 SeqStack <T>类中用字段maxsize来表示。 3)top指示顺序栈的栈顶,值是栈顶元素在数组中的下标
/构造器 public SeqStack(int size) data (T[])new Object[size]; /类型为T,长度为size的数组存放栈中元素 maxsize=size;/栈的容量等于数组长度 top=-1;//空栈top的值为-1
//构造器 public SeqStack(int size) { data = (T[])new Object[size]; //类型为T,长度为size的数组存放栈中元素 maxsize = size; //栈的容量等于数组长度 top = -1; //空栈top的值为-1 }