VR引擎(10.24下午)

50 阅读1分钟

using System.Collections;

using System.Collections.Generic;

namespace demo16下午

{

public class Person

{
    public string name;
}
internal class Program
{
    static void Main(string[] args)
    {
        //ArrayList 动态数组   List  列表   Dictionary  字典
        //栈  队列  哈希表
        //Stack stack = new Stack();
        //入栈
        //stack.Push(1);//入栈的数据类型可以不相同
        // stack.Push("ddd");
        // stack.Push(new Person());


        //查看栈中的值   只能读到栈顶的值
        //Console.WriteLine(stack.Peek);//object i=stack.Peek;  Console.WriteLine(i);object 可以代表所有的类型

        /* int length = stack.Count;
         //想要获取所有的值
         for(int j=0;j<stack.Count; j++)//怎么获取栈的长度  stsck.Count
         {
             object i = stack.Peek();
             Console.WriteLine(i);
             stack.Pop();//出栈
         }*/
        //可以用什么方式  while循环
        /* while(stack.Count>0)
         {
             object i = stack.Peek();
             Console.WriteLine(i);
             stack.Pop();
         }*/
        //Console.WriteLine(stack.Contains("ddd"));//可以检查栈中是否包含该元素,返回bool值

一、编写一个方法计算任意一个十进制的二进制数 使用栈的结构方式储存

             {
                 Stack stack = new Stack();
                 while (num>0)//相除结果不为0的时候
                 {
                     int remanier = num % 2;
                     //入栈
                     stack.Push(remanier);
                     //num要发生变化
                     num /= 2;                 
                 }
                 while(stack.Count>0)
                 {
                     Console.Write(stack.Peek());
                     stack.Pop();
                 }

             }            
             Console.WriteLine("请输入一个十进制数:");
             int num = Convert.ToInt32(Console.ReadLine());
             getBin(num);
        Queue queue = new Queue();
        //入队列
        /* queue.Enqueue("dfdf");
         queue.Enqueue(34);
         queue.Enqueue("sdf");*/

        //出队列
        // queue.Dequeue();//dfdf出队列了

        //拿到队头的值
        Console.WriteLine(queue.Peek());//所有对头是34
        Console.WriteLine(queue.Count);
        //循环遍历
        /* while(queue.Count>0)
         {
             Console.WriteLine(queue.Peek());
             queue.Dequeue();
         }*/
        /*Console.WriteLine(queue.Contains(34));
        queue.Clear();//清除队列
        Console.WriteLine(queue);*/

二、使用队列储存信息,一次性存10条消息 每隔一秒打印一条消息,控制太打印消息时要有明显的停顿,每隔一秒使用Thread.Sleep(1000)

自己做的

            {
                queue.Enqueue("dfdf");
            }

            while (queue.Count > 0)
            {
                object i = queue.Peek();
                Console.WriteLine(i);
                queue.Dequeue();
                Thread.Sleep(1000);
            }

老师的

            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);
            }