标题:一个for循环完成冒泡排序
只看楼主
lyb661
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:47
专家分:83
注 册:2018-12-12
结帖率:71.43%
已结贴  问题点数:20 回复次数:3 
一个for循环完成冒泡排序
///一个for循环完成冒泡排序

#include <iostream>
using namespace std;

void swap_arr(int& a,int& b)
{
    int temp=a;
    a=b;
    b=temp;
}

void print_arr(int a[],int n)
{
    for(int i=0;i<n;i++){
        if(i>0)
            cout<<" ";
        cout<<a[i];
    }
}

void bubble_sort(int a[],int n)
{
    for(int i=0;i<n-1;i++){
        if(a[i]>a[i+1])
            swap_arr(a[i],a[i+1]);
        if(i==n-2){      //当i的自增到本轮循环最大
            i=-1;    //i赋值-1开始新一轮循环
            n--;     //i的值自增 n的值自减
        }
    }
}

int main() {
    int a[]={31,25,64,53,84,41,79};
    int n=sizeof a/sizeof a[0];
    print_arr(a,n);

    cout<<"\n--------split Line-----------\n";

    bubble_sort(a,n);
    print_arr(a,n);

    return 0;
}



[此贴子已经被作者于2019-1-10 15:01编辑过]

搜索更多相关主题的帖子: for 循环 冒泡排序 int cout 
2019-01-10 14:57
幽竹烟雨
Rank: 2
来 自:SunGalaxy
等 级:论坛游民
威 望:3
帖 子:43
专家分:86
注 册:2018-11-9
得分:20 
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int v=0,l=0;
    int a[]={31,25,64,53,84,41,79};
    int n=sizeof a/sizeof a[0];
    while(l<7)
    {
        cout<<a[l]<<" ";
        l++;
    }
    cout<<"\n--------split Line-----------\n";
    sort(a,a+7);
    while(v<7)
    {
        cout<<a[v]<<" ";
        v++;
    }
    return 0;
}

0个for循环完成sort排序

简单有效易懂
2019-01-10 22:18
lyb661
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:47
专家分:83
注 册:2018-12-12
得分:0 
学习排序法,是为了加深对C语言底层技术的理解。如果选择C语言泛型编程与标准库,当然方便!
2019-01-11 02:07
幽竹烟雨
Rank: 2
来 自:SunGalaxy
等 级:论坛游民
威 望:3
帖 子:43
专家分:86
注 册:2018-11-9
得分:0 
嗯嗯,是的,学习了。
2019-01-11 21:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492616-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011735 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved