| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
跟大牛学C++学算法数据结构
共有 284 人关注过本帖
标题:一个for循环完成冒泡排序
只看楼主 加入收藏
lyb661
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:9
帖 子:38
专家分:51
注 册:2018-12-12
结帖率:100%
  已结贴   问题点数: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编辑过]

2019-01-10 14:57
幽竹烟雨
Rank: 2
来 自:SunGalaxy
等 级:论坛游民
威 望:3
帖 子:40
专家分:82
注 册: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: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:9
帖 子:38
专家分:51
注 册:2018-12-12
  得分:0 
学习排序法,是为了加深对C语言底层技术的理解。如果选择C语言泛型编程与标准库,当然方便!
2019-01-11 02:07
幽竹烟雨
Rank: 2
来 自:SunGalaxy
等 级:论坛游民
威 望:3
帖 子:40
专家分:82
注 册:2018-11-9
  得分:0 
嗯嗯,是的,学习了。
2019-01-11 21:58







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

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