【冒泡排序法】
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, j, n, temp, *nums;
scanf("%d", &n);
nums = (int *)calloc(n, sizeof(int));
for (i = 0; i < n; i++)
scanf("%d", nums + i);
for (i = 1; i <= n - 1; i++) // 大循環:[1, n-1],共比較n-1輪,特別注意這裡是1開頭
{
for (j = 0; j < n - i; j++) // 小循環:[0, n-i),每輪進行n-i次
{
if (nums[j] < nums[j + 1]) // 這裡寫<是從大到小, >是從小到大
{
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
for (i = 0; i < n; i++)
printf("%d ", nums[i]);
putchar('\n');
free(nums);
return 0;
}