一个关于冒泡排序的问题,帮忙看一下哪错了
#include<stdio.h>#define n 10
main()
{
int i,j,t;
int a[10]={9,8,7,6,5,4,3,2,1,0};
for(i=0;i<n-1;i++)
for(j=0;j<n-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
这样的输出结果是 0 1 2 3 4 5 6 7 8 9。
引用函数后
#include<stdio.h>
void Bubble_Sort(int a[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
for(j=0;j<n-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
main()
{
int i;
int a[10]={9,8,7,6,5,4,3,2,1,0};
printf("原数组\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
Bubble_Sort(a,10);
printf("整理后数组\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
整理后的数组结果为 0 1 1 2 3 4 5 6 7 8