Exemplo n.º 1
0
 public int[] Sort(int[] arr)
 {
     if (arr == null || arr.Length < 2)
     {
         return(arr);
     }
     //保证前0到i 有序
     for (int i = 0; i < arr.Length - 1; i++)
     {
         //保证把 i+1 插入到前面合适的位置
         for (int j = i + 1; j > 0; j--)
         {
             //后项比前项小,则交换
             if (arr[j] < arr[j - 1])
             {
                 Swaper.Swap(arr, j, j - 1);
             }
             else
             {
                 break;
             }
         }
     }
     return(arr);
 }
Exemplo n.º 2
0
        public int[] Sort(int[] arr)
        {
            if (arr == null || arr.Length < 2)
            {
                return(arr);
            }

            for (int i = 0; i < arr.Length; i++)
            {
                //让最后一个数,变成是最大的
                for (int j = 0; j < arr.Length - i - 1; j++)
                {
                    if (arr[j] > arr[j + 1])
                    {
                        Swaper.Swap(arr, j, j + 1);
                    }
                }
            }
            return(arr);
        }
Exemplo n.º 3
0
 public int[] Sort(int[] arr)
 {
     if (arr == null || arr.Length < 2)
     {
         return(arr);
     }
     //依次保证0~i 有序
     for (int i = 0; i < arr.Length; i++)
     {
         //从i+1到最后,找到小的数,就放到i上,从而使i位置上为,i+1到最后的最小的一个数
         for (int j = i + 1; j < arr.Length; j++)
         {
             if (arr[i] > arr[j])
             {
                 Swaper.Swap(arr, i, j);
             }
         }
     }
     return(arr);
 }