正在加载图片...
《数据结构》实验指导/实验三:栈的存储及操作 2 七、实验内容及步骤 1、任务一:有n个元素(假设元素值为1~n),依1~m的次序通过一个栈,设计一个算法判 断序列str是否得为一个出栈序列,若是出栈序列,给出操作过程 实验步骤 (1)启动 isual Studio2010,创建窗体应用程序。 (2)增加顺序栈类,代码参考如下: class Sqstack class const int Max Size =100 public string data ∥放栈中元素 public int top ∥栈顶指针 public SqstackClasso ∥构造函数 data=new string MaxSize ∥-顺序栈的基本运算算法-- public bool Stack Empty ∥判断栈是否为空 return(top==-1) public bool Push( string x)进栈算法 return false data[ top =x public bool Pop( ref string e)∥出栈算法 if (Stack Empty) ∥栈为空的情况,即栈下溢出 e=datal top ∥取栈顶指针元素的元素 ∥栈顶指针减1 return true public bool Get Top(ref string e)//取栈顶元素算法 if(StackEmptyO) ∥栈为空的情况,即栈下溢出 return false e=data topl ∥取栈顶指针位置的元素 管理科学与工程学科/共6页第2页《数据结构》实验指导 / 实验三:栈的存储及操作 2 管理科学与工程学科 / 共6页,第2页 七、实验内容及步骤 1、任务一:有 n 个元素(假设元素值为 1~n),依 1~n 的次序通过一个栈,设计一个算法判 断序列 str 是否得为一个出栈序列,若是出栈序列,给出操作过程。 实验步骤: (1) 启动 Visual Studio 2010,创建窗体应用程序。 (2) 增加顺序栈类,代码参考如下: class SqStackClass { const int MaxSize = 100; public string[] data; //存放栈中元素 public int top; //栈顶指针 public SqStackClass() //构造函数 { data = new string[MaxSize]; top = -1; } //------ 顺序栈的基本运算算法------------------------- public bool StackEmpty() //判断栈是否为空 { return(top==-1); } public bool Push(string x) //进栈算法 { if (top == MaxSize-1) return false; top++; data[top] = x; return true; } public bool Pop(ref string e) //出栈算法 { if (StackEmpty()) //栈为空的情况,即栈下溢出 return false; e = data[top]; //取栈顶指针元素的元素 top--; //栈顶指针减 1 return true; } public bool GetTop(ref string e) / /取栈顶元素算法 { if (StackEmpty()) //栈为空的情况,即栈下溢出 return false; e = data[top]; //取栈顶指针位置的元素
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有