Sort an array and return index of arrays according to elements size in c#

后端 未结 2 1169
长发绾君心
长发绾君心 2021-01-26 21:00

I need to sort the array from minimum to maximum value, but I need to return only the index of array after sorting it. I dont want to swap values, I just need to return the valu

2条回答
  •  终归单人心
    2021-01-26 21:29

    Your check in the for loop is wrong it should be i < arr.Length. For index you can do:

    int[] arr = { 7, 8, 2, 3, 1, 5 };
    int[] sortedIndexArray = arr.Select((r, i) => new { Value = r, Index = i })
                                .OrderBy(t => t.Value)
                                .Select(p => p.Index)
                                .ToArray();
    

    For output:

    foreach(int item in sortedIndexArray)
        Console.WriteLine(item);
    

    Output:

    4
    2
    3
    5
    0
    1
    

提交回复
热议问题