冒泡排序:
不断循环地遍历过数据元素,依次比较两个相邻的数据元素,如果第一个比第二个大就把他们交换过来。冒泡排序的工作就是重复地进行这种交换的工作直到没有相邻数据元素需要交换。
基本思路:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
代码
C++
void BubbleSort(vector<int>& arr, int n)
{
int end = n;
while (end > 0)
{
for (int i = 1; i < end; ++i)
{
if (arr[i - 1] > arr[i])
swap(&arr[i - 1], &arr[i]);
}
--end;
}
}
C
void bubble_sort(int a[], int n)
{
int i,j,temp;
for (j=0;j<n-1;j++) 元素
{
for (i=0;i<n-1-j;i++)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
}