#include <stdio.h>
#include <stdint.h>
uint8_t a[] = { 5, 4, 3, 2, 1 };
void bubbleSort(uint8_t * a, uint8_t len) {
int8_t i, j; //!!!使用无符号类型的循环变量自减会溢出!
uint8_t tmp, flag;
for (i = 0; i <= len - 2; i++) {
flag = 0;
for (j = len - 2; j >= i; j--) {
if (a[j] > a[j + 1]) {
tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
flag = 1;
}
}
if (flag == 0)
break;
}
}
int main() {
bubbleSort(a, 5);
for (int k = 0; k < 5; k++)
printf("%d ", a[k]);
printf("\n");
return 0;
}
经典冒泡排序
最新推荐文章于 2021-08-21 20:30:29 发布