它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
#include<stdio.h>
#include<stdlib.h>
void sort(int a[], int n) {
int i, j;
for (i = 0; i < n; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j + 1];
a[j + 1] = a[j];
a[j] = temp;
}
}
}
}
void main() {
int a[] = { 1,3,2,5,4,7,8,6,10,9 };
int n = 10;
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
sort(a, n);
}
system("pause");
}