冒泡排序是一种简单的排序方法,一般情况下,整个排序过程只需进行k (1 <= k <= n)趟冒泡。其结束的条件是:在一趟冒泡操作结束后没有元素进行过交换。
#include <stdio.h>
#include <stdlib.h>
int main () {
int i, j, max, *a;
static int n;
printf ("待排序数的个数:");
scanf ("%d", &n);
a = (int*)malloc(n * sizeof(int));
for (i = 0; i < n; i++) //初始化
a[i] = 0;
for (i = 0; i < n; i++)
scanf ("%d", &a[i]);
for (j = 1; j < n; j++) //升序
{
for (i = 0; i < n-j; i++)
{
if (a[i] > a[i+1])
{
max = a[i];
a[i] = a[i+1];
a[i+1] = max;
}
}
}
for (i = 0; i < n; i++)
printf ("%d ", a[i]);
printf ("\n");
return 1;
}
1267

被折叠的 条评论
为什么被折叠?



