#include <iostream>
using namespace std;
void swap(int& x,int& y)
{
int iTemp = x;
x = y;
y = iTemp;
}
void bubble_sort(int data[],int len)
{
int i,j,iTemp;
bool isChanged = false;
for(i = 0;i < len -1;i++){
isChanged = false;
for(j = len -2;j >= i;j--){
if(data[j+1] < data[j]){//冒泡排序,相邻两个数相比较,将小点的数换至前面
isChanged = true;
swap(data[j+1],data[j]);
}
}
if(!isChanged)//若是一轮循环都没有互换,则表示已经排好序,退出循环
break;
}
}
void print(int data[],int len)
{
for(int i = 0;i < len;i++){
cout << data[i] << " ";
}
cout << endl;
}
int main()
{
int data[] = {4,2,3,7,6,1,5,9,10,8};
bubble_sort(data,sizeof(data)/sizeof(int));
print(data,sizeof(data)/sizeof(int));
return 0;
}
冒泡排序
最新推荐文章于 2025-05-19 09:28:05 发布
本文详细介绍了C++中冒泡排序算法的实现过程,包括定义交换函数、冒泡排序函数以及打印排序结果,通过实例展示了算法的具体应用。
39万+

被折叠的 条评论
为什么被折叠?



