您的位置首页百科知识

C++ 冒泡排序法

C++ 冒泡排序法

的有关信息介绍如下:

C++ 冒泡排序法

代码:

#include<iostream>

using namespace std;

void print(int arr[],int n)

{

for(int j=0;j<n;j++)

{

cout<<arr[j]<<"";

}

cout<<endl;

}

void BubbleSort(int arr[],int n)

{

for(int i=0;i<n-1;i++)

{

for(int j=0;j<n-i-1;j++)

{

if(arr[j]>arr[j+1])

{

int temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

}

int main()

{

int s={8,1,9,7,2,4,5,6,10,3};

cout<<"初始序列:";

print(s,10);

BubbleSort(s,10);

cout<<"排序结果:";

print(s,10);

system("pause");

}

冒泡排序的基本思想:比较相邻的元素,如果反序则交换。通过第一趟排序能找出最大的元素,并使最大的元素移至最后一位,然后通过第二次排序使次大的元素移至倒数第二位,以此类推,直至所有元素有序。

冒泡排序算法的原理如下:

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

2、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

3、针对所有的元素重复以上的步骤,除了最后一个。

4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

参考资料:

百度百科——冒泡排序