排序之冒泡排序,选择排序

xiaoxiao2021-02-28  84

冒泡排序

void bubble_sort(int n) { int i,j,temp; for(i = 0; i < n - 1; i++) for(j = 0; j < n - 1 - i; j++) { if(a[j] > a[j + 1]) { temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } }

冒泡排序比较简单,主要是一遍又一遍的走过数字,只要两个元素顺序不对,就把他们交换过来,一直到不能交换。

选择排序

void select_sort(int n) { int i,j,k,temp; for(i = 0; i < n; i++) { k = i; for(j = i + 1; j < n; j++) { if(a[j] < a[k]) { k = j; } } if(k != i) { temp = a[i]; a[i] = a[k]; a[k] = temp; } } }

选择排序每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。这种排序方法相对也比较简单。

转载请注明原文地址: https://www.6miu.com/read-73729.html

最新回复(0)