//本实例采用冒泡排序法对整数型数组元素进行排序。
//冒泡排序法的基本思想:(以升序为例)含有n个元素的数组原则上要进行n-1次排序。对于每一躺的排序,从第一个数开始,依次比较前一个数与后一个数的大小。如果前一个数比后一个数大,则进行交换。这样一轮过后,最大的数将会出现称为最末位的数组元素。第二轮则去掉最后一个数,对前n-1个数再按照上面的步骤找出最大数,该数将称为倒数第二的数组元素......n-1轮过后,就完成了排序。
//若要以降序顺序排列,则只需将if(array[j]>array[j+1])语句中的大于号改为小于号即可。
//程序如下:
#include<stdio.h>
#define N 15
void BubbleSort(int array[],int n)
{
int i,j,temp;
//外循环控制循环趟数
for(i=0; i<n-1; i++)
{
//内循环选择要进行比较的数
for(j=0;j<n-1-i; j++)
{
if(array[j]>array[j+1])
{
temp=array[j];
array[j]=array[j+1];
arra y[j+1]=temp;
}
}
}
printf("nThe sorted numbers are:");
for(i=0; i<n; i++)
{
printf("}",array[i]);
}
printf("nn");
}
void main()
{
int i,n,a[N];
do{
printf("Input n[1-12]:");
scanf("%d",&n);
}while(!(n>=1&&n<=12));
printf("Please input %d numbers:",n);
for(i=0; i<n; i++)
{
scanf("%d",&a[i]);
}
printf("nThe original numbers are:");
for(i=0; i<n; i++)
{
printf("}",a[i]);
}
BubbleSort(a,n);
return;
}