思路:冒泡排序,顾名思义,与冒泡有关。原理是根据轻气泡不能再重气泡之下,每次交换相邻的两个气泡,轻的交换到上面,一次遍历到最后。然后又从第一个元素开始,因为每经过一次排序,最后面有序区会多一个元素,所以j<n-i-1可以解释了。进过n-1次遍历,这个序列就有序了。
#include"stdio.h"
void bubbleSort(int *a,int n){
int i,j,temp;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
int main()
{
int n,i,j;
int a[100];
printf("please input total number\n");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
bubbleSort(a,n);
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}