【问题标题】:Sort list of strings alphabetically in .net在.net中按字母顺序对字符串列表进行排序
【发布时间】:2015-05-03 06:29:31
【问题描述】:

如何在 dot net 中按字母顺序对单词列表进行排序,而不使用任何内置函数,如 Sort。

如果我有一个单词列表:Hello,Awesome,Cool,Stuff 输出:Awesome,Cool,Hello,Stuff

我也不想使用 LINQ

【问题讨论】:

标签: c# .net


【解决方案1】:

您可以使用快速排序:

    static int partition(string[] arr, int start, int end) {
        int pivot = end;
        int i = start, j = end;
        string temp;
        while (i < j) {
            while (i < end && string.Compare(arr[i], arr[pivot]) < 0)
                i++;
            while (j > start && string.Compare(arr[j], arr[pivot]) > 0)
                j--;

            if (i < j) {
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
        temp = arr[pivot];
        arr[pivot] = arr[j];
        arr[j] = temp;
        return j;
    }

    static void quicksort(string[] arr, int start, int end) {
        if (start < end) {
            int pivotIndex = partition(arr, start, end);
            quicksort(arr, start, pivotIndex - 1);
            quicksort(arr, pivotIndex + 1, end);
        }
    }

    static void Main(string[] args) {
        string[] arr = { "Hello", "Awesome", "Cool", "Stuff" };
        quicksort(arr, 0, arr.Length - 1);
        foreach (string s in arr) {
            Console.Write(s + " ");
        }
        Console.ReadKey();
    }

来源:http://www.bluesharktutorials.com/2013/08/quick-sort-algorithm-with-c-sharp-program-code.html。我已将int 更改为string

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-23
    • 2023-01-25
    • 1970-01-01
    • 2021-07-05
    • 2015-07-23
    • 1970-01-01
    • 2016-12-05
    • 2018-11-20
    相关资源
    最近更新 更多