1. 程式人生 > >排序演算法之選擇法排序(C/C++)

排序演算法之選擇法排序(C/C++)

簡單選擇排序的基本思想:第1趟,在待排序記錄r[1]~r[n]中選出最小的記錄,將它與r[1]交換;第2趟,在待排序記錄r[2]~r[n]中選出最小的記錄,將它與r[2]交換;以此類推,第i趟在待排序記錄r[i]~r[n]中選出最小的記錄,將它與r[i]交換,使有序序列不斷增長直到全部排序完畢

void select_sort(int a[], int n)
{
    int i = 0, j = 0, k = 0;

    for (i=0; i < n-1; i++)
    {
        k = i;

        for (j=i+1; j < n; j++)
        {
            if (a[k] > a[j])
            {
                k = j;
            }
        }

	if (k != i)
	{
	    tmp=a[k];
	    a[k]=a[i];
	    a[i]=tmp;
	}
    }
}