基本思想:从待排记录的第一个记录开始,和相邻的记录比较,如果该记录大于相邻的记录则交换位置,否则的话从相邻的记录依次比较。那么一趟下来待排记录中最大的值就被交换到无序的最后位置,直到所有待排记录有序为止。
代码:
void BubbleSort(int arr[],int n)
{
int Exchange = n;
while(Exchange)
{
int flag = 0;
arr[0] = 0;
for(int i=1;i<Exchange;i++)
{
if(arr[i]>arr[i+1])
{
arr[0] = arr[i];
arr[i] = arr[i+1];
arr[i+1] = arr[0];
flag = i;
}
}
Exchange = flag;
}
}
}