#include #define N 8 /* 打印数组 */ void bubble_sort_display(int *pInputArr) { for (int i = 0; i < N; i++) { printf("%d ", pInputArr[i]); } printf("\n"); } /* 冒泡排序(升序)*/ void bubble_sort(int *pInputArr) { int tTempI = 0, tTempJ = 0, tTemp = 0; for (tTempI = 0; tTempI < N - 1; tTempI++) { for (tTempJ = 0; tTempJ < N - tTempI - 1; tTempJ++) { if (pInputArr[tTempJ] > pInputArr[tTempJ + 1]) { /* 交换相邻元素 */ tTemp = pInputArr[tTempJ]; pInputArr[tTempJ] = pInputArr[tTempJ + 1]; pInputArr[tTempJ + 1] = tTemp; } } printf("第 %d 趟排序结果: ", tTempI + 1); bubble_sort_display(pInputArr); } } int main(int argc, char **argv) { int tTempArr[N] = {50, 36, 66, 76, 95, 70, 25, 37}; printf("排序前: "); bubble_sort_display(tTempArr); bubble_sort(tTempArr); printf("排序后: "); bubble_sort_display(tTempArr); return 0; }