当前位置: 代码网 > it编程>编程语言>C# > C#自定义的方法实现堆栈类设计

C#自定义的方法实现堆栈类设计

2024年05月19日 C# 我要评论
本实例展示了如何使用c#创建一个带有push方法和clist类的cstack类,并如何在其中添加和遍历堆栈数据。1.首先创建一个名为clist的类这是堆栈实现的基础。有两处注意的:应使用list<

本实例展示了如何使用c#创建一个带有push方法和clist类的cstack类,并如何在其中添加和遍历堆栈数据。

1.首先创建一个名为clist的类

这是堆栈实现的基础。有两处注意的:

应使用list<t>.removeat(int32) 方法而不是list<t>.remove(t) 方法,否则,后期生成的pop方法是不起作用的。

为了实现堆栈的lifo特性,遍历输出display()方法应选择反向遍历输出。

public class clist
{
    private readonly list<int>? mylist;
 
    public clist()
    {
        mylist = [];
    }
 
    public void add(int item)
    {
        mylist!.add(item);
    }
 
    public void removeat(int item)
    {
        mylist!.removeat(item);
    }
 
    public void clear()
    {
        mylist!.clear();
    }
 
    public int count()
    {
        return mylist!.count;
    }
 
    public void display()
    {
        for (int i = mylist!.count - 1; i >= 0; i--)
        {
            int item = mylist[i];
            console.write(item + " ");
        }
        console.writeline();
    }
}

2.接下来创建一个名为cstack的类

它将使用clist类的实例来实现堆栈。

 public class cstack
 {
     private readonly clist mylist;
 
     public cstack()
     {
         mylist = new clist();
     }
 
     public void push(int item)
     {
         mylist.add(item);
     }
 
     public void pop()
     {
         mylist.removeat(mylist.count() - 1);
     }
 
     public int count()
     {
         return mylist.count();
     }
 
     public void display()
     {
         mylist.display();
     }
 }

3.最后使用cstack类和push方法来添加和遍历堆栈数据

class program
{
    static void main(string[] args)
    {
        argumentnullexception.throwifnull(args);
 
        cstack stack = new();
 
        stack.push(10);
        stack.push(20);
        stack.push(30);
        console.writeline("堆栈数量={0}", stack.count());
        stack.display(); // 输出:30 20 10
 
        stack.pop();
        stack.pop();
        console.writeline("堆栈数量= {0}", stack.count());
        stack.display(); // 输出:10
    }
}

4.运行结果

把上面3个类,放进一个命名空间,运行结果:

运行结果:

堆栈数量=3
30 20 10
堆栈数量= 1
10

到此这篇关于c#自定义的方法实现堆栈类设计的文章就介绍到这了,更多相关c#堆栈类设计内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com