排序算法
-
冒泡排序
遍历len(nums)-1次
每次遍历都找到其最大值,通过交换让它放在最右侧
算法:void BubbleSort(int a[], int len) { int i, j, temp; for (j = 0; j < len - 1; j++) { for (i = 0; i < len - 1 - j; i++) if (a[i] > a[i + 1]) { temp = a[i]; a[i] = a[i + 1]; a[i + 1] = temp; } } } -
选择排序
每次遍历选择最小的放在数组的头部,如果不是,就进行交换。
算法:void SelectionSort(int arr[], int length) { for (int i = 0; i < length; i++) { int index = i; for (int j = i+1; j < length; j++) { if (arr[j] < arr[index]) { index = j; } } if (index == i) continue; else { int temp; temp = arr[index]; arr[index] = arr[i]; arr[i] = temp; } } }

浙公网安备 33010602011771号