91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c# priorityqueue怎樣實現優先級排序

c#
小樊
81
2024-11-25 10:12:41
欄目: 編程語言

在C#中,您可以使用PriorityQueue類來實現優先級排序。這個類在System.Collections.Concurrent命名空間中,它是Queue的一個線程安全版本,并按照元素的優先級進行排序。

以下是一個簡單的示例,說明如何使用PriorityQueue實現優先級排序:

  1. 首先,創建一個自定義類,該類包含一個整數值(表示優先級)和一個字符串(表示元素)。
public class PriorityItem<T>
{
    public T Value { get; set; }
    public int Priority { get; set; }

    public PriorityItem(T value, int priority)
    {
        Value = value;
        Priority = priority;
    }
}
  1. 然后,創建一個PriorityQueue<T>實例,并將自定義類的對象添加到隊列中。隊列將根據優先級自動排序。
using System;
using System.Collections.Concurrent;

class Program
{
    static void Main()
    {
        var priorityQueue = new PriorityQueue<PriorityItem<string>>();

        priorityQueue.Enqueue(new PriorityItem<string>("Task 1", 3));
        priorityQueue.Enqueue(new PriorityItem<string>("Task 2", 1));
        priorityQueue.Enqueue(new PriorityItem<string>("Task 3", 2));

        while (!priorityQueue.IsEmpty())
        {
            var item = priorityQueue.Dequeue();
            Console.WriteLine($"Executing: {item.Value} with priority {item.Priority}");
        }
    }
}

在這個示例中,我們首先創建了一個名為PriorityItem<T>的自定義類,該類包含一個值和一個優先級。然后,我們創建了一個PriorityQueue<T>實例,并將三個具有不同優先級的PriorityItem<string>對象添加到隊列中。最后,我們使用Dequeue方法從隊列中獲取并執行優先級最高的任務。

0
临安市| 崇明县| 中山市| 望都县| 固安县| 宽城| 商洛市| 惠水县| 青浦区| 玛纳斯县| 茶陵县| 家居| 屯昌县| 大余县| 盐边县| 任丘市| 芜湖县| 上栗县| 益阳市| 延安市| 遂宁市| 酒泉市| 简阳市| 雷山县| 织金县| 新田县| 扬州市| 赤峰市| 拉孜县| 广元市| 宁德市| 洛浦县| 武冈市| 津南区| 桂阳县| 牙克石市| 盈江县| 炎陵县| 德惠市| 应城市| 盘锦市|