冒泡排序就是把小的元素往前调或者把大的元素往后调

冒泡排序算法的运作如下:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数,针对所有的元素重复以上的步骤,除了最后一个。

也就是把数组中最小的那个往上冒,冒的过程就是和他相邻的元素交换。这个冒的过程就是内循环。
经过了一个冒的过程,可以使一个最小的元素冒出来,如果数组里面有 n 个元素,就得冒 n-1 次,这就是外循环。

#include<stdio.h>
#include<stdlib.h>
void  bubble_sort(int src[],int size)
{
	int i = 0;
	int tmp = 0;
	int j = 0;
	for (j = 0; j < size-1; j++)
	{
		for (i = 0; i < size; i++)
		{
			if (src[i] > src[i + 1])
			{
				tmp = src[i];
				src[i] = src[i + 1];
				src[i + 1] = tmp;
			}
		}
	}
}
int main()
{
	int arr[6] = {8,3,4,2,6,5};
	int len = sizeof arr / sizeof arr[0];
	int i = 0;
	bubble_sort(arr,len-1);
	for (i = 0; i < len; i++)
	{
		printf("%d ", arr[i]);
	}
	system("pause");
	return 0;
}

冒泡排序_冒泡排序