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

溫馨提示×

如何使用C#進行快速排序

c#
小樊
82
2024-09-26 17:47:24
欄目: 編程語言

在C#中,可以使用遞歸方法實現快速排序算法。以下是一個簡單的示例:

using System;

class QuickSortExample
{
    static void Main()
    {
        int[] arr = { 10, 7, 8, 9, 1, 5 };
        int n = arr.Length;

        QuickSort(arr, 0, n - 1);

        Console.WriteLine("Sorted array:");
        for (int i = 0; i < n; i++)
            Console.Write(arr[i] + " ");
        Console.ReadLine();
    }

    static void QuickSort(int[] arr, int low, int high)
    {
        if (low < high)
        {
            int pi = Partition(arr, low, high);

            QuickSort(arr, low, pi - 1);
            QuickSort(arr, pi + 1, high);
        }
    }

    static int Partition(int[] arr, int low, int high)
    {
        int pivot = arr[high];
        int i = (low - 1);

        for (int j = low; j <= high - 1; j++)
        {
            if (arr[j] < pivot)
            {
                i++;

                // swap arr[i] and arr[j]
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }

        // swap arr[i+1] and arr[high] (or pivot)
        int temp = arr[i + 1];
        arr[i + 1] = arr[high];
        arr[high] = temp;

        return (i + 1);
    }
}

在這個示例中,我們定義了一個名為QuickSort的方法,它接受一個整數數組、一個低索引和一個高索引作為參數。這個方法將數組劃分為兩個部分,然后遞歸地對這兩個部分進行排序。Partition方法用于將數組劃分為兩個部分,使得左邊的元素小于樞軸元素,右邊的元素大于樞軸元素。

0
二手房| 西畴县| 泰兴市| 芦溪县| 资中县| 垦利县| 彭阳县| 黄山市| 青岛市| 本溪市| 古蔺县| 凤翔县| 杂多县| 南川市| 沁源县| 伽师县| 亳州市| 伊金霍洛旗| 卓资县| 华安县| 宜黄县| 仲巴县| 长治县| 双桥区| 南岸区| 那坡县| 连州市| 鱼台县| 临潭县| 巴楚县| 电白县| 泉州市| 广宗县| 永胜县| 新干县| 马公市| 渑池县| 荆州市| 祁门县| 鹿泉市| 香河县|