#region 栈是否已满 /// <summary> /// 栈是否已满 /// </summary> /// <typeparam></typeparam> /// <param></param> public bool SeqStackIsFull<T>(SeqStack<T> seqStack) { return seqStack.top == seqStack.data.Length; } #endregion
#region 入栈 /// <summary> /// 入栈 /// </summary> /// <typeparam></typeparam> /// <param></param> /// <param></param> public void SeqStackPush<T>(SeqStack<T> seqStack, T data) { if (SeqStackIsFull(seqStack)) throw new Exception("不好意思,栈溢出");
seqStack.data[++seqStack.top] = data; } #endregion
#region 出栈 /// <summary> /// 出栈 /// </summary> /// <typeparam></typeparam> /// <param></param> /// <returns></returns> public T SeqStackPop<T>(SeqStack<T> seqStack) { if (SeqStackIsEmpty(seqStack)) throw new Exception("呜呜,栈已空");
seqStack.data[seqStack.top] = default(T);
return seqStack.data[--seqStack.top]; } #endregion
#region 获取栈顶 /// <summary> /// 获取栈顶 /// </summary> /// <typeparam></typeparam> /// <param></param> /// <returns></returns> public T SeqStackPeek<T>(SeqStack<T> seqStack) { if (SeqStackIsEmpty(seqStack)) throw new Exception("栈已空");
return seqStack.data[seqStack.top]; } #endregion
#region 获取栈中元素个数 /// <summary> /// 获取栈中元素个数 /// </summary> /// <typeparam></typeparam> /// <param></param> /// <returns></returns> public int SeqStackLen<T>(SeqStack<T> seqStack) { return seqStack.top + 1; } #endregion } }
(编辑:焦作站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|