【每天一道算法题】day2-选择排序

时间复杂度O(N^2),额外空间复杂度O(1)

额外空间复杂度O(1):有限的几个变量的空间来维持流程,没有创建新的数组之类的

public static void selectionSort(int[] arr) {
		if (arr == null || arr.length < 2) {
			return;
		}
		for (int i = 0; i < arr.length - 1; i++) {
			int minIndex = i;
			for (int j = i + 1; j < arr.length; j++) {
				minIndex = arr[j] < arr[minIndex] ? j : minIndex;
			}
			swap(arr, i, minIndex);
		}
	}

	public static void swap(int[] arr, int i, int j) {
		int tmp = arr[i];
		arr[i] = arr[j];
		arr[j] = tmp;
	}

你可能感兴趣的:(算法,算法,java,数据结构)