给我用C语言写一个冒泡排序,并详细注释
时间: 2023-03-13 19:29:07 浏览: 112
#include <stdio.h>
int main()
{
int array[100], n, c, d, swap;
printf("输入数组元素个数\n");
scanf("%d", &n);
printf("输入 %d 个数\n", n);
for (c = 0; c < n; c++)
scanf("%d", &array[c]);
for (c = 0 ; c < n - 1; c++)
{
for (d = 0 ; d < n - c - 1; d++)
{
if (array[d] > array[d+1]) /* 如果需要排序,就进行交换 */
{
swap = array[d];
array[d] = array[d+1];
array[d+1] = swap;
}
}
}
printf("排序结果:\n");
for (c = 0; c < n; c++)
printf("%d\n", array[c]);
return 0;
} 我不会用C语言编写,但是我可以给你一个参考,它是冒泡排序的一个简单实现:#include <stdio.h> // 定义一个函数,用于冒泡排序
void bubbleSort(int array[], int n)
{
int c, d, swap;
for (c = 0 ; c < n - 1; c++)
{
for (d = 0 ; d < n - c - 1; d++)
{
if (array[d] > array[d+1]) /* 如果需要排序,就进行交换 */
{
swap = array[d];
array[d] = array[d+1];
array[d+1] = swap;
}
}
}
} int main()
{
int array[100], n, c;
printf("输入数组元素个数\n");
scanf("%d", &n);
printf("输入 %d 个数\n", n);
for (c = 0; c < n; c++)
scanf("%d", &array[c]);
bubbleSort(array, n);
printf("排序结果:\n");
for (c = 0; c < n; c++)
printf("%d\n", array[c]);
return 0;
}
阅读全文