首页 > 编程语言 > 详细

冒泡排序法

时间:2021-07-31 23:41:07      阅读:59      评论:0      收藏:0      [点我收藏+]

步骤

  • 两两比较相邻元素 a 和 ai+1 (i = 1, 2, ···, n -1),若ai > ai+1,则交换ai 和 ai+1的位置;
  • 对剩下的n - 1个元素,再两两进行比较,按同样规则交换它们的位置,经过n - 2次比较,将最大值交换到 an-1 的位置;
  • 如法炮制,经过n - 1 趟的 ”冒泡处理“ ,每趟进行 n - i 次比较,全部数列有序

设有N个元素,用数组a[i]表示, i = 0, 1, ···, N - 1

①输入N;

②输入a[i], i = 0, 1, ···, N - 1

③对 i = 0, 1, ···, N - 2  //下标,一共N - 1 趟冒泡

④  对 j = 0, 1, ···, N - 2 - i

⑤    若a[j] > a[j + 1],交换

⑥对 i = 0, 1, ···, N - 1,输出a[i]

代码

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double a[100];
    int N;
    int i = 0, j = 0;
    cin >> N; //元素个数
    for( i = 0; i < N; I++)
    {
        cin >> a[i]; //输入数据
    }
    /***排序***/
    for( i = o; i < N - 1; i++)
    {
        for( j = 0; j < N - 1 - i; j++)
        {
            if(a[j] > a[j + 1])
            {
                int tmp;
                tmp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = tmp;
            }
        }
    }
    for( i = 0; i < N; i++)
    {
        cout << a[i] <<" "; //输出
    }
    return 0;
}

 

冒泡排序法

原文:https://www.cnblogs.com/baicang/p/15085502.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!