将一个数组排序
//排序
#include <stdio.h>
int main()
{
int a[]={3,5,2,56,275,85,29,24};
int temp,i,j;
int length= sizeof(a) / sizeof(a[0]);//计算a[]的大小时,不要加‘[]’
//选择排序
for(i=0;i<length-1;i++){
for(j=i;j<length;j++){//选择排序,每一次用一个数和所有其他数做比较,并且依次将最小的数移到两端
if(a[i]<a[j]){
temp=a[j];
a[j]=a[i];
a[i]=temp;
} //从大往小
}
}
//遍历数组
for(i=0;i<length;i++){
printf("%d ",a[i]);
}
printf("\n");
//冒泡排序
//冒泡排序就是每次将相邻的两个数做比较,每一次可以将最值找出,和冒泡排序的区别就是这样
for(i=0;i<length-1;i++){
for(j=0;j<length-i-1;j++){
if(a[j+1] <a[j]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;//从小往大
}
}
}
for(i=0;i<length;i++){
printf("%d ",a[i]);
}
printf("\n");
return 0;
}