c#10.24pm

77 阅读1分钟

namespace ConsoleApp1024pm
{
    public class Person
    {
        public string name;
    }
    internal class Program
    {
        static void Main(string[] args)
        {
            //创建一个栈
            Stack stack = new Stack();
            //入栈
            stack.Push(1);//入栈的数据类型可以不相同
            stack.Push(2);
            stack.Push(new Person());

            //查看栈的值,只能从栈顶开始读

            int length=stack.Count;
            //读取里面所有的值
             for(int j = 0; j < length; j++)
             {
                 object i = stack.Peek;//object 可以代表所以的类型
                 Console.WriteLine(i);
                 stack.Pop();
             }
             while(stack.Count > 0)
             {
                 object i =stack.Peek();
                 Console.WriteLine(i);
             }
            Console.WriteLine(stack.Contains(1));//可以检查栈中是否包含该元素,返回一个布尔值


            //例题:将一个十进制数转化为二进制数
            static void getBin(int num)
            {
                Stack stack1 = new Stack();
                while (num >0)//余数不为0时入栈
                {
                    int remanier = num % 2;
                    stack1.Push(remanier);
                    num /= 2;

                }
                //出栈
                while (stack1.Count > 0)
                {
                    Console.Write(stack1.Peek());
                    stack1.Pop();
                }
            }
            Console.WriteLine("请输入一个十进制数");
            int num = Convert.ToInt32(Console.ReadLine());
            getBin(num);
  
        }
    }
}

队列

namespace ConsoleApp1024pm
{
    public class Person
    {
        public string name;
    }
    internal class Program
    {
        static void Main(string[] args)
        {
            //入队列
             Queue queue = new Queue();
             queue.Enqueue("dfdf");
             queue.Enqueue(34);
             queue.Enqueue("name");

             //出队列
             queue.Dequeue();//dfdf已出队列,先进先出原则

             //拿到队头的值
             Console.WriteLine(queue.Peek());
             Console.WriteLine(queue.Contains(34));
             queue.Clear();
             Console.WriteLine(queue);
            //一次输入10条信息,每隔1秒钟打印一条,要有明显的时间间隔
            Random random = new Random();
            List<string> news = new List<string>() { "喜迎二十大","研究出克制癌症的疫苗","俄乌冲突持续发酵", };
            Queue queue = new Queue();
            for(int i= 0; i < 10; i++)
            {
                string str = news[random.Next(0, news.Count)];
                queue.Enqueue(str);
            }
            while(queue.Count > 0)
            {
                Console.WriteLine(queue.Peek());
                queue.Dequeue();
                Thread.Sleep(1000);
            }
        }
    }
}