冒泡排序
#include <stdio.h>
int main()
{
int t=0;
int n;
int a[100];
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(int j=0;j<n-1;j++)
{
for(int k=0;k<n-1-j;k++)
{
if(a[k]>a[k+1])
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
for(int h=0;h<n;h++)
{
printf("%d\t",a[h]);
}
return 0;
}
把数字比做成泡泡,越大的数字就是越大的泡泡。大的泡泡会跑到上面,意味着越大的数字通过交换位置,到达最高的位置,然后每个j里面就会使得一个数升到他能升到的最高位数。 J循环里面的一个K循环,这是两个数去交换位置。因为在经历一次循环之后,有一个数的位置一确认,所以说里面的K循环的次数要相应的减少。