冒泡排序优化代码
最后的元素永远是最大的 所以每趟排除的后i个数
//当已经有序时就不用排序了加入flag作为标志
void bubble_sort(int arr[],int sz)
{
int i=0;
int flag=1;
for (i = 0; i < (sz-1); ++i)//趟数
{
int j=0;
falg=1;
for (int j = 0; j < sz-i-1; ++j)
{
if(arr[j]>arr[j+1])
{
int tmp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=tmp;
flag=0;
}
}
if(flag==1)
break;
}
}
int main()
{
//int arr[] = { 9,8,7,6,5,4,3,2,1,0 };
int arr[] = { 0,1,2,3,4,5,6,7,8,9 };
//排序为升序 - 冒泡排序
//计算数组元素个数
int sz = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr, sz);
//数组传参的时候,传递的其实是数组首元素的地址
return 0;
}
}