一、代码:
#include<stdio.h>
#include<stdlib.h>
int maopao(int arr[],int sz) //算法升级后
{
int i,j,temp;
for(i=0;i<sz;i++)
{
int flag=1;
for(j=0;j<sz-1-i;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=0;
}
}
if(flag==1)
{
break;
}
}
}
//int maopao(int arr[],int sz) //算法升级前
//{
// int i,j,temp;
// for(i=0;i<sz;i++)
// {
// for(j=0;j<sz-1-i;j++)
// if(arr[j]>arr[j+1])
// {
// temp=arr[j];
// arr[j]=arr[j+1];
// arr[j+1]=temp;
// }
// }
//}
int main()
{
int arr[]={4,2,6,8,1,9,10,5,7,3};
int i;
int sz=sizeof(arr)/sizeof(arr[0]);
printf("排序前: ");
for(i=0;i<sz;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
printf("序排后:");
maopao(arr,sz);
for(i=0;i<sz;i++)
{
printf("%d ",arr[i]);
}
printf("\n");
system("pause");
return 0;
}
二、运行结果: