C# 选择排序

黄舟
黄舟asal
2017-02-09 16:14:111377semak imbas

C# 选择排序

using System;  
  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
namespace Sort  
{  
    class SelectSorter  
    {  
        public static int[] Sort(int[] a)  
        {  
            SelectSort(a);  
            return a;  
        }  
        private static void SelectSort(int[] myArray)  
        {  
            int i, j, smallest;  
            //数据起始位置,从0到倒数第二个数据  
  
       for (i = 0; i < myArray.Length - 1; i++)  
            {  
                smallest = i;//记录最小数据的下标  
                for (j = i + 1; j < myArray.Length; j++)  
                {  
                    //在剩下的数据中寻找最小数据  
  
            if (myArray[j] < myArray[smallest])  
                    {  
                        smallest = j;//如果有比它更小的,记录下标  
                    }  
                }  
        //将最小数据和未排序的第一个数据交换  
                Swap(ref myArray[i], ref myArray[smallest]);  
            }  
        }  
        private static void Swap(ref int left, ref int right)  
        {  
            int temp;  
            temp = left;  
            left = right;  
            right = temp;  
        }  
    }  
}

选择排序的思想:

1051.jpg


例子:

1052.jpg

以上就是C# 选择排序的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:C#希尔排序Artikel seterusnya:C# 快速排序