1.比较相邻的两个元素,如果左边比右边更大则交换位置
2.每一轮循环完之后,最后的那个元素都是最大的
c++代码如下:
//冒泡排序函数
void bubble_sort(int arr[],int len)
{
for (int i = 0; i < len - 1; i++)//两个两个元素做比较,只要比较len-1次
{
for (int j = 0; j < len - 1 - i; j++)//每次循环完一轮之后最后的那个元素是最大的,不需要再比较
{
if (arr[j] > arr[j + 1])//左边的比右边的大就交换
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
//主函数
int main()
{
int arr[] = {61,17,29,22,34,60,72,21,50,1,62};
int len = sizeof(arr) / sizeof(*arr);
bubble_sort(arr, len);
for (int i = 0; i < len; i++)
cout << arr[i] << ' ';
cout << endl;
return 0;