朴素排序法 冒泡的实现。

本文详细介绍了冒泡排序算法的原理与步骤,并通过C++代码实现了一个具体的例子,展示了如何通过冒泡法对数组进行排序。

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

冒泡法稳定(数据之间相对的位置不发生改变),比较算法的一种。

他的主要算法思想是数与数之间两两比较,根据定下的规则进行数据的排列。

1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换。

2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最的一个数据就“沉”到数组第N-1个位置。(每次遍历只会完成一个数值的到位)

3.N=N-1,如果N不为0就重复前面二步,否则排序完成。

 

纸上得来终觉浅,绝知此事要躬行。再简单的也要实现一遍!

#include <iostream>

using namespace std;

 

int main()
{    int a[11];
    int i,j,t;
    for(i=1;i<11;i++) //此行i的作用是将 i与输入次数挂钩 实现输入多个数据。并且在数组内部线性排列
        cin>>a[i];
    cout<<endl;
    for(j=1;j<10;j++) //j的作用是进行一次计数 进行9轮的两两比较
        for(i=1;i<10-j;i++)  //这里i的作用是  每一轮两两比较时,需要进行10-j次两两比较
            if(a[i]>a[i+1])
                {

                   t=a[i];a[i]=a[i+1];a[i+1]=t;//在发现大数后交换位置使其下沉。
                }

    for(i=1;i<11;i++)   //与输出挂钩。
        cout<<a[i]<<" ";
        cout<<endl;
    return 0;
}

 

谭浩强教授的例题,又看了一遍自己写出了。。嗯嗯嗯嗯

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值