1. 程式人生 > >Queue 隊列的使用

Queue 隊列的使用

立交橋 正確答案 var 殘疾人 電子警察 .html for 駕車 play

隊列一個先進先出的對象集合

public class PlayChickTopicData : MonoBehaviour
{
    Queue<TopicData> topicDatas = new Queue<TopicData>();

    struct TopicData
    {
        public string topicData;
        public bool select;

        public TopicData(string strTopic, bool select)
        {
            topicData = strTopic;
            this.select = select;
        }
    }


    private void Start()
    {
        //入隊
        topicDatas.Enqueue(new TopicData("駕駛裝有ABS 系統的機動車,制動過急時同樣會發生側滑。", false));
        topicDatas.Enqueue(new TopicData("安裝制動防爆死裝置(ABS)的車輛,駕駛人發現汽車轉向失效時,應輕踏制動踏板。", false));
        topicDatas.Enqueue(new TopicData("駕駛有ABS 系統的機動車,在緊急制動的同時轉向會發生側滑。", true));
        topicDatas.Enqueue(new TopicData("在坡道上掉頭,每次停車時應用行車制動控制,不必使用駐車制動器。", false));
        topicDatas.Enqueue(new TopicData("夜間在城市道路超車前要鳴喇叭(變換遠近燈光)示意前車,待前車讓行後從左側超越。", false));
        topicDatas.Enqueue(new TopicData("駕駛人持超過有效期的駕駛證可以在1年內駕駛機動車。查看本題分析", false));
        topicDatas.Enqueue(new TopicData("立交橋上一般都是單向行駛,車輛不必減速行駛", false));
        topicDatas.Enqueue(new TopicData("準駕車型為小型自動擋汽車的,可以駕駛低速載貨汽車。", false));
        topicDatas.Enqueue(new TopicData("行車中遇殘疾人影響通行時,應主動減速禮讓。", true));
        topicDatas.Enqueue(new TopicData("因避讓特種車輛而發生違法行為,被電子警察拍到時,可向交管部門復議。", true));
    }


    private void Update()
    {
        //輸出移除隊首的元素 出隊
        if (Input.GetKeyDown(KeyCode.D))
        {
            if (topicDatas.Count > 0)
            {
                showQueue();
                TopicData topicData = topicDatas.Dequeue();
                UnityEngine.Debug.Log("題目"+ topicData.topicData);
                UnityEngine.Debug.Log("正確答案:"+ topicData.select);
            }
        }

        //移除所有元素
        if (Input.GetKeyDown(KeyCode.C))
        {
            topicDatas.Clear();
            showQueue();
        }
        UnityEngine.Debug.Log(topicDatas.Count.ToString());
    }
    
  
    void showQueue()
    {
        foreach (var value in topicDatas)
        {
            string str="";
            str += value.topicData + "   " + value.select + "|";
            UnityEngine.Debug.Log(str );
        }
    }

}

http://www.runoob.com/csharp/csharp-queue.html

Queue 隊列的使用