算法排序-选择

69 阅读1分钟

选择排序

什么是选择排序

可以简单理解每次从无序数据中每次从中挑选一个最小值,然后排序

 int[] data;
    for (int i = 0; i < data.length-1; i++) {
        for (int j = i + 1; j < data.length; j++) 
        {
                if (data[i] > data[j])// swap if i > j so i will be min  value
                {
                    int temp = data[j];
                    data[j] = data[i];
                    data[i] = temp;
                }
            }
        }

时间复杂度

n-1+n-2...+0 这个值是(n)*(n-1)/2 ~= n^2;

稳定的

相同值不会交换