C#,《小白学程序》第九课:堆栈(Stack),先进后出的数据型式
1 文本格式
/// <summary>
/// 《小白学程序》第九课:堆栈(Stack)
/// 堆栈与队列是相似的数据形态;特点是:先进后出;
/// 比如:狭窄的电梯,先进去的人只能最后出来;
/// 堆栈应用场景不是很多,但某些关键的地方用堆栈效果最好。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button9_Click(object sender, EventArgs e)
{
// #1 定义一个狭窄的电梯(堆栈)
Stack<string> st = new Stack<string>();
// #2 电梯上人啦!按什么顺序出来呢?
st.Push("tony");
st.Push("jim");
st.Push("john");
st.Push("tom");
st.Push("philip");
// #3 打印出来的顺序!
StringBuilder sb = new StringBuilder();
// 序号
int idx = 1;
while (st.Count > 0)
{
// 显示 第 idx 个人是谁 st.Pop() ?电梯里还有 st.Count 几个人?
// st.Pop 弹出?
sb.AppendLine(idx + ": " + st.Pop() + " leave " + st.Count + " peoples.<br>");
idx++;
}
webBrowser1.DocumentText = sb.ToString();
}
2 代码格式
/// <summary>
/// 《小白学程序》第九课:堆栈(Stack)
/// 堆栈与队列是相似的数据形态;特点是:先进后出;
/// 比如:狭窄的电梯,先进去的人只能最后出来;
/// 堆栈应用场景不是很多,但某些关键的地方用堆栈效果最好。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button9_Click(object sender, EventArgs e)
{
// #1 定义一个狭窄的电梯(堆栈)
Stack<string> st = new Stack<string>();
// #2 电梯上人啦!按什么顺序出来呢?
st.Push("tony");
st.Push("jim");
st.Push("john");
st.Push("tom");
st.Push("philip");
// #3 打印出来的顺序!
StringBuilder sb = new StringBuilder();
// 序号
int idx = 1;
while (st.Count > 0)
{
// 显示 第 idx 个人是谁 st.Pop() ?电梯里还有 st.Count 几个人?
// st.Pop 弹出?
sb.AppendLine(idx + ": " + st.Pop() + " leave " + st.Count + " peoples.<br>");
idx++;
}
webBrowser1.DocumentText = sb.ToString();
}