Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.net中按字母顺序对字符串列表进行排序_C#_.net - Fatal编程技术网

C# 在.net中按字母顺序对字符串列表进行排序

C# 在.net中按字母顺序对字符串列表进行排序,c#,.net,C#,.net,如何在不使用任何内置函数(如sort)的情况下,在dotnet中按字母顺序对单词列表进行排序 如果我有一个单词列表:你好,真棒,酷,等等 输出:真棒,酷,你好,东西 我也不想使用LINQ您可以使用快速排序: static int partition(string[] arr, int start, int end) { int pivot = end; int i = start, j = end; string temp;

如何在不使用任何内置函数(如sort)的情况下,在dotnet中按字母顺序对单词列表进行排序

如果我有一个单词列表:你好,真棒,酷,等等 输出:真棒,酷,你好,东西

我也不想使用LINQ

您可以使用快速排序:

    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();
    }
静态int分区(字符串[]arr,int start,int end){
int pivot=结束;
int i=开始,j=结束;
字符串温度;
而(istart&&string.Compare(arr[j],arr[pivot])>0)
j--;
if(i

来源:。我已将
int
更改为
string

快速排序的可能重复@Sajeetharan OP不想使用任何内置设备functions@YijieShenOP不想使用任何内置函数。这很奇怪,但我找不到任何类似的问题(排序+C#+字符串+从头开始)。