冒泡排序的基本思想:
冒泡排序的核心是对所有相邻数组元素的值进行比较,如果是逆序(a[i]>a[i+1]),则两者交换,最终达到有序。
步骤:
(1)比较第一个数a[0]和第二个数a[1],如果a[0]>a[1],则,两个数组元素的值交换;然后接着比较第二个数a[1]和第三个数a[2],以此类推,直到第n-1个数a[n-1]与第n个数a[n]比较为止。这个过程是第一趟冒泡排序,其结果是将数组中最大的值放到了最后一个位置上。
(2)第二趟冒泡排序,是对前n-1个元素做第一步的处理,结果使第二大的数放在倒数第二个位置上。
(3)重复上述过程,共经过n-1趟冒泡排序后,排序结束
实现代码:
#include <iostream>
using namespace std;
int main()
{
//xulie[10]为初始数组,目标是对这个数组排序
int xulie[10]={2,5,7,9,8,34,45,3,4,1};
for(int i=10;i>0;i--)
for(int j=0;j<9;j++)
{
if (xulie [j]>xulie[j+1])
{
int a = xulie[j] ;
xulie[j]=xulie[j+1];
xulie[j+1]=a;
}
}
cout<<"排序结果为:"<<endl;
for(int k=0;k<10;k++)
{
cout<<xulie[k]<<endl;
}
}
时间: 2024-10-26 20:46:38