排序算法-冒泡排序

本文详细介绍了一种基础排序算法——冒泡排序的实现原理与过程。通过具体的代码示例,展示了如何通过比较相邻元素并交换位置来逐步将数组按升序排列。文章提供了完整的C++实现代码,并展示了排序前后的数组状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从基础重新抓起。

冒泡排序:每次从数组头到尾选出最大或者最小的,排到尾部或者头部。以排序结果从小到大为例:

每次从数组中把最大的调换到末尾。

eg.元素个数:count,需要找count-1次(外循环,最后一次不用再做比较了),每次从头到末尾没有确定的数据中找最大的(内循环),做法就是比较相邻两个元素的大小,大的向后移动。

贴出代码:

void BubbleSort::Sort(int elements[],int count)
{
this->count=count;
cout<<"count:"<<this->count<<endl;
cout<<"original:"<<endl;
for(int i=0;i<this->count;i++)
{
cout<<" "<<elements[i];
}
cout<<endl;



for(int i=0;i<this->count-1;i++)
{
for(int j=0;j<this->count-i-1;j++)
{
if(elements[j+1]<elements[j])
{
int tmp=elements[j+1];
elements[j+1]=elements[j];
elements[j]=tmp;
}
}
}
cout<<"sorted:"<<endl;
for(int i=0;i<this->count;i++)
{
cout<<" "<<elements[i];
}
cout<<endl;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

延澈左

小小心意

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值