排序

返回排序后的索引数组,索引数组的元素代表排序后的数组元素在原数组中的位置

#region 排序 返回索引
        /// <summary>
        /// 排序,返回索引
        /// </summary>
        /// <param name="list"></param>
        public static int[] sort(int[] list)
        {
            int[] sss = new int[list.Length];
            for (int i = 0; i < list.Length; i++)
            {
                sss[i] = list[i];
            }
            int min = 0;
            int[] index = new int[sss.Length];
            int temp;

            for (int i = 0; i < sss.Length - 1; i++)
            {
                min = i;
                for (int j = i + 1; j < sss.Length; j++)
                {
                    if (sss[min] > sss[j])
                    {
                        min = j;
                    }
                }
                temp = sss[i];
                if (i != min)
                {
                    sss[i] = sss[min];
                    sss[min] = temp;
                }
            }

            for (int i = 0; i < list.Length; i++)
            {
                for (int j = 0; j < list.Length; j++)
                {
                    if (sss[i] == list[j])
                    {
                        index[i] = j;
                        continue;
                    }
                }
            }
            return index;
        }
        #endregion
原文地址:https://www.cnblogs.com/DayDreamEveryWhere/p/3211040.html