NANA的学习笔记—冒泡排序

冒泡排序
作用:最常用的排序算法,对数组内元素进行排序
1.比较相邻元素。若第一个比第二个大,就交换他们两个
2.对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
3.重复以上的步骤,每次比较次数—1,直到不需要比较

排序总轮数=元素个数-1
每轮对比的次数=元素个数-排序轮数-1

//利用冒泡排序实现升序序列

int arr[9]={4,2,8,0,5,7,1,3,9};

cout<<“排序前:”<<endl;
for(int i=0;i<9;i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;

//开始冒泡排序
//总共排序轮数为 元素个数-1
for(int i=0;i<9-1;i++)
{
//内层循环对比 次数=元素个数-当前轮数-1
for(int j=0;j<9-i-1;j++)
{

 //如果第一个数字比第二个数字大,交换两个数字
 if(arr[j]>arr[j+1])
 {
  int temp=arr[j];
  arr[j]=arr[j+1];
  arr[j+1]=temp;
  }

}
}
//排序后结果
cout<<“排序后:”<<endl;
for(int i=0;i<9;i++)
{
cout<<arr[i]<<" ";
}
cout<<endl;

#include

using namespace std;

void input(inta);
void sort(int
a);
void output(int*a);

int main()
{
int a[10];
input(a);
sort(a);
output(a);

return 0;
}

void input(int*a)
{
cout<<“请输入十个整数:”;
for(int i=0;i<10;i++)
{
cin>>a[i];
}
}

void sort(int*a)
{
for(int i=0;i<10;i++)
{
for(int j=0;j<10-i-1;j++)
{
if(a[j]>a[j+1])
{
int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}

void output(int*a)
{
cout<<“冒泡排序后的结果:”;
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值