方法一
#include <stdio.h>
int ArrarOrg[] = { 49,38,65,97,76,
13,27,49,55,4 };
void BubbleSort(int a[], int length) {
int i, j, temp;
int change = 0;//检测一次排序中是否有交换,没有交换说明已经有序
for (i = length- 1;i >= 0 && change == 0;i--) {
change = 1;//位置不能变
for (j = 0;j < i;j++) {
if (a[j] > a[j + 1]) {
//角标较小的数比角标较大的数大,交换之
change = 0;
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
int main(void) {
BubbleSort(ArrarOrg, 10);
for (int i = 0;i < 10;i++) {
printf("%d ", ArrarOrg[i]);
}
getchar();
return 0;
}
方法二
#include<stdio.h>
void main()
{
int i,j,t;
int a[10]={23,12,34,5,26,7,89,120,112,56};
int n,n=10;
for(i=n-1;i>=1;i--)
{
for(j=0;j<=i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
printf("%d\n",a[i]);
}
}