冒泡排序从后往前遍历(比较)
//从小到大排序
void bubblesort(int a[], int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - i - 1; j++) {
if (a[j] > a[j + 1]) swap(a[j], a[j + 1]);
}
}
return;
}
冒泡排序从后往前遍历(比较)
写法1:
//从小到大排序
void bubblesort(int a[], int len) {
for (int i = 0; i <len-1; i++) {
for (int j =len-1;j>i; j--) {
if (a[j] < a[j-1]) swap(a[j], a[j-1]);
}
}
return;
}
写法2:
//从小到大排序
void bubblesort(int a[], int len) {
for (int i = len-1; i>0; i--) {
for (int j = len-1; j > len-1-i; j--) {
if (a[j] < a[j - 1]) swap(a[j], a[j - 1]);
}
}
return;
}
测试代码:
int main() {
int a[100];
int len;
cin >> len;
for (int i = 0; i < len; i++) {
cin >> a[i];
}
bubblesort(a,len);
for (int i = 0; i < len; i++) {
cout << a[i] << endl;
}
system("pause");
return 0;
}