冒泡排序
1.冒泡排序思想
让数组当中相邻的两个数进行比较,数组当中比较小的数值向下沉,数值比较大的向上浮!外层for循环控制循环次数,内层for循环控制相邻的两个元素进行比较。
2. 编码
#include<stdio.h>
int main()
{
int a[100],i,j,n,t;
printf("请输入排序个数:");
scanf("%d",&n);
printf("\n请依次输入需排序的数字(以空格隔开):");
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
////////冒泡排序的核心部分///////////////////
for(i=1;i<=n-1;i++)//n个数排序,只用进行n-1趟
{
for(j=1;j<=n-i;j++)//从第一位开始比较到最后一个尚未归为的数,执行n-i趟
{
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
////////////////////////////////////////////
printf("从大到小的顺序排序:");
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
getchar();
}
3. 示例
