打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C# 栈—— 入栈 出栈 获取栈顶元素 遍历 清空 数量_c#清空栈

分类专栏: # 集合 文章标签: C# Stack
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
版权
4 篇文章 0 订阅
订阅专栏

文章目录:

    • 常用
    • 详细
    • 官网链接

常用

/*
 * 功能:
 *  
 * 作者:
 * 时间:
 * 修改:
 *
 */
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TestStack : MonoBehaviour
{
    public Stack<string> myStack=new Stack<string>();
    void Start()
    {
        //入栈
        myStack.Push("01孙悟空");
        myStack.Push("02猪八戒");
        myStack.Push("03沙悟净");

        Debug.Log("入栈后,栈集合里的元素————");
        TraversCollection();


        //出栈
        myStack.Pop();

        Debug.Log("出栈后,栈集合里的元素————");
        TraversCollection();


        //获取栈顶元素
        Debug.Log("此时,栈顶元素是:"+myStack.Peek());

        //清空
        myStack.Clear();

        //Count属性
        Debug.Log("栈里元素数量:" + myStack.Count);





    }
    //【工具方法】用迭代器遍历集合
    public void TraversCollection()
    {
        IEnumerator<string> myEnumerator = myStack.GetEnumerator();
        while(myEnumerator.MoveNext())
        {
            Debug.Log(myEnumerator.Current);
        }
    }
    
}

详细

/*
 * 功能:
 *  
 * 作者:
 * 时间:
 * 修改:
 *
 */
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;

public class TestStack : MonoBehaviour
{
    public Stack<string> myStack=new Stack<string>();
    void Start()
    {
        //入栈
        myStack.Push("01孙悟空");
        myStack.Push("02猪八戒");
        myStack.Push("03沙悟净");
        


        Debug.Log("入栈后,栈集合里的元素————");
        TraversCollection();


        //出栈
        myStack.Pop();

        Debug.Log("出栈后,栈集合里的元素————");
        TraversCollection();


        //访问栈顶元素
        Debug.Log("此时,栈顶元素是:"+myStack.Peek());
        //访问任意元素
        Debug.Log("从上往下数的第2个元素是:"+myStack.ElementAt(1));

        //清空
        myStack.Clear();

        //有否
        Debug.Log("是否存在元素:" + myStack.Contains("02猪八戒"));

        //Count属性
        Debug.Log("栈里元素数量:" + myStack.Count);
        
    }

    //【工具方法】遍历
    public void TraversCollection()
    {
        //迭代器
        //IEnumerator<string> myEnumerator = myStack.GetEnumerator();
        //while(myEnumerator.MoveNext())
        //{
        //    Debug.Log(myEnumerator.Current);
        //}


        //for
        //for(int i=0;i<myStack.Count;i++)
        //{
        //    Debug.Log(myStack.ElementAt(i));//使用ElementAt(),需引入System.Linq命名空间
        //}


        //foreach
        foreach(string name in myStack)
        {
            Debug.Log(name);
        }
    }
    
}

官网链接

   Stack类
   Stack泛型集合

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
1047. 删除字符串中的所有相邻重复项
如何使用栈更好的解决括号匹配问题???
发布16年9月新增选择题(超难)——第1部分公共基础
栈与队列-例子
数据结构与算法: 三十张图弄懂「图的两种遍历方式」
这是你见过最简单的算法说明书
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服