C語言例程
#include <stdio.h>
void displayDt( int num, int dt[] ) {
for ( int i = 0; i < num; i++ ) {
printf( "%d ", dt[i] );
}
printf( "\r\n" );
}
void bubbleSortAsc(int num, int dt[]) {
printf("排序前:");
displayDt(num, dt);
int val = 0;
int flag = 0;
for (int i = num - 1; i > 0; i--) {
flag = 0;
for (int j = 0; j < i; j++) {
if (dt[j] >= dt[j + 1]) {
val = dt[j];
dt[j] = dt[j + 1];
dt[j + 1] = val;
flag = 1;
}
}
if (flag == 0) break;
}
printf("排序後:");
displayDt(num, dt);
}
void bubbleSortDesc(int num, int dt[]){
printf("排序前:");
displayDt(num, dt);
int val = 0;
int flag = 0;
for (int i = num - 1; i > 0; i--) {
flag = 0;
for (int j = 0; j < i; j++) {
if (dt[j] <= dt[j + 1]) {
val = dt[j];
dt[j] = dt[j + 1];
dt[j + 1] = val;
flag = 1;
}
}
if (flag == 0) break;
}
printf("排序後:");
displayDt(num, dt);
}
int main() {
int dt[10] = { 29, 35, 12, 64, 3, 96, 5, 143, 31, 46 };
int num = sizeof(dt) / sizeof(int);
bubbleSortAsc( num, dt );
}