Files
25Sep03_BubbleSort/bubble_sort.c
2025-09-03 11:22:15 +08:00

48 lines
1.1 KiB
C

#include <stdio.h>
#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;
}