#include
void Bubble(int arr[], int sz)
{
int i=0;
for(i=0; i
arr[j+1])
{
tmp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=tmp;
}
}
}
}
int main()
{
int arr[]={0,2,4,6,8,9,3,1,5,7};
int i=0;
int sz=sizeof(arr)/sizeof(arr[0]);
Bubble(arr, sz );
for(i=0; i
冒泡排序原理:
优化代码:
#include
void swap(int *a, int *b)
{
int temp = 0;
temp = *a;
*a = *b;
*b = temp;
}
void bubble_sort2(int *arr, int length)
{
int i = 0;
int j = 0;
int flag = 1;
int x=0;
for (i = 0; i < length - 1; i++)
{
flag = 0;//每次先重置为0
for (j = 0; j < length - 1 - i; j++)
{
if (arr[j]>arr[j + 1])
{
swap(&arr[j], &arr[j + 1]);
flag = 1;
// printf("%d",x++);
}
}
if (!flag)
break;
}
}
int main()
{
int arr[]={1,5,4,2,3,6,0};
int i=0;
int sz=sizeof(arr)/sizeof(arr[0]);
bubble_sort2(arr, sz);
for(i=0;i