• 排序算法之冒泡排序


    冒泡排序是我学习的最早的排序算法。它很简单:遍历文件,如果临近的两个元素的顺序不对,那么就将两者交换,重复这样的操作直到整个文件排好序。

    一种实现算法:

    #include <iostream>
    #include <stdlib.h>
    using namespace std;
    template <typename Item>
    void compexch(Item &A,Item &B)
    {
        if (B<A)
            exch(A,B);
    }
    template <typename Item>
    void bubble(Item a[], int l, int r)
    {
        for (int i=l;i<r;i++)
        {
            for (int j=r;j>i;j--)
            {
                compexch(a[j-1],a[j]);
            }
        }
    }
    void main()
    {
        int i;
        int N=10;
        int *a=new int[N];
        int sw=1;
    
        if(sw)
        {
            for(i=0;i<N;i++)
                a[i]=1000*(1.0*rand()/RAND_MAX);
        }
        else
        {
            N=0;
            while(cin>>a[N])
                N++;
        }
        for(i=0;i<N;i++)
            cout<<a[i]<<" ";
        cout<<endl;
        bubble(a,0,N-1);
        for(i=0;i<N;i++)
            cout<<a[i]<<" ";
        cout<<endl;
    }

    执行结果:

    (To Be Continued...)

  • 相关阅读:
    java泛型介绍
    JavaWeb---总结(十九)Session机制
    ServiceWorker入门介绍一
    Ehcache入门介绍一
    Hadoop入门介绍一
    给安卓端调用的短信发送接口demo
    Java开发需要注意的流程
    一些题
    省选模拟3
    省选模拟2
  • 原文地址:https://www.cnblogs.com/lscheng/p/2682317.html
Copyright © 2020-2023  润新知