• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

数据结构(C#):堆栈

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
堆栈是一种后进先出的数据结构,在某些程序设计中经常用到。堆栈只能取得栈顶元素、压栈、出栈、取得栈内元素数量及判断是否为空等操作。
堆栈可以用顺序表、链表实现,有了前面顺序表及链表,堆栈实现非常简单,这里用单链表实现。
1.实现代码
/*
* File     :   Stack.cs
* Author   :   Zhenxing Zhou
* Date     :   2008-12-07
* Blog     :  
http://www.xianfen.net/
*/
namespace Xianfen.Net.DataStructure
{
    
public class Stack<T>
    {
        
protected SingleLinkedList<T> m_List;

        
public int Count
        {
            
get { return m_List.Count; }
        }

        
public bool IsEmpty
        {
            
get { return m_List.IsEmpty; }
        }

        
public Stack()
        {
            m_List
= new SingleLinkedList<T>();
        }

        
public Stack(T t)
        {
            m_List
= new SingleLinkedList<T>(t);
        }

        
public T Pop()
        {
            T t
= m_List.GetTail();
            m_List.RemoveTail();

            
return t;
        }

        
public T Top()
        {
            
return m_List.GetTail();
        }

        
public void Push(T t)
        {
            m_List.AddTail(t);
        }
    }
}

2.应用示例
一个及其无聊的字符串翻转程序。
char[] ch = "hello world!".ToCharArray();
Stack
<char> s = new Stack<char>();

foreach (char c in ch)
{
    s.Push(c);
}

int idx = 0;
while (!s.IsEmpty)
{
    ch[idx
++] = s.Pop();
}

Console.WriteLine(
new string(ch));

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#窗体最大化最小化等比例缩放发布时间:2022-07-18
下一篇:
C#SnippetTutorial-CustomEventHandlers发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap