c++编程用函数模板实现排序算法(冒泡排序、插入排序)-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

c++编程用函数模板实现排序算法(冒泡排序、插入排序)

2018-07-22 10:15:44 2130 3
c++编程用函数模板实现排序算法(冒泡排序、插入排序)
取消 提交回答
全部回答(3)
  • 小哇
    2019-07-17 22:49:42
    void bubble_sort(int a[], int n)
    {
        int i, j, temp;
        bool bo;
        do{
        bo=true;
        for (j = 1; j <= n - i; j++)
            {
                if(a[j] > a[j + 1])
                {
                    temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                    bo=false;
                }
            }
        i++;
        }while(!bo);
    }

    冒泡 int insertsort(int r[]){
        for(int i=2;i<=n;i++){
            x=r[i];j=i-1;    
            while(x<r[i]){
                r[j+1]=r[j];
                j--;
            }
            r[j+1]=x;
        }
    }

    插入

    0 0
  • 青衫无名
    2019-07-17 22:49:42

    #include <iostream>

    using namespace std;


    //从小到大排序

    template <typename T>

    void Bubble(T arr[], int n)

    {

    int i,j;

    for (i=0; i<n; i++)

    for (j=0; j<n-i-1; j++)

    {

    if (arr[j] > arr[j+1])

    {

    T temp;

    temp = arr[j];

    arr[j] = arr[j+1];

    arr[j+1] = temp;

    }

    }


    for (i=0; i<n; i++)

    cout << arr[i] << endl;

    }


    //从小到大排序

    template <typename T>

    void Insert(T arr[], int n)

    {

    int i,j,pos;

    T temp;

    for (i=0; i<n; i++)

    {

    pos = i;

    for (j=i; j<n; j++)

    {

    if (arr[j] < arr[pos])

    {

    pos = j;

    temp = arr[j];

    arr[j] = arr[pos];

    arr[pos] = temp;

    }

    }


    temp = arr[i];

    arr[i] = arr[pos];

    arr[pos] = temp;

    }


    for (i=0; i<n; i++)

    cout << arr[i] << endl;

    }


    int main()

    {

    int i[7] = {2, 234, 234, 12, 1400, 345, 564};

    float f[7] = {2.9, 234.2, 234.5, 12.73, 1400, 345.2, 564.1};

    //Bubble(i, 7);

    Insert(i, 7);

    cout << endl;

    //Bubble(f, 7);

    Insert(f, 7);


    return 0;

    }

    0 0
  • 游客886
    2019-07-17 22:49:42
    #include <iostream>
    using namespace std;

    //从小到大排序
    template <typename T>
    void Bubble(T arr[], int n)
    {
    //冒泡
    int i,j;
    for (i=0; i<n; i++)
    for (j=0; j<n-i-1; j++)
    {
    if (arr[j] > arr[j+1])
    {
    T temp;
    temp = arr[j];
    arr[j] = arr[j+1];
    arr[j+1] = temp;
    }
    }

    for (i=0; i<n; i++)
    cout << arr[i] << endl;
    }

    //从小到大排序
    template <typename T>
    void Insert(T arr[], int n)
    {
    //插入排序
    int i,j,pos;
    T temp;
    for (i=0; i<n; i++)
    {
    pos = i;
    for (j=i; j<n; j++)
    {
    if (arr[j] < arr[pos])
    {
    pos = j;
    temp = arr[j];
    arr[j] = arr[pos];
    arr[pos] = temp;
    }
    }

    temp = arr[i];
    arr[i] = arr[pos];
    arr[pos] = temp;
    }

    for (i=0; i<n; i++)
    cout << arr[i] << endl;
    }

    int main()
    {
    int i[7] = {2, 234, 234, 12, 1400, 345, 564};
    float f[7] = {2.9, 234.2, 234.5, 12.73, 1400, 345.2, 564.1};
    //Bubble(i, 7);
    Insert(i, 7);
    cout << endl;
    //Bubble(f, 7);
    Insert(f, 7);

    return 0;
    }
    0 0
添加回答
相关问答

78

回答

小白用户ECS使用实践【持续连载中】

qilu 2014-06-18 15:37:00 72683浏览量 回答数 78

10

回答

【精品问答合集】Hbase热门问答

hbase小能手 2019-05-29 14:37:26 120875浏览量 回答数 10

40

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 144766浏览量 回答数 40

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 57012浏览量 回答数 19

37

回答

阿里官方Java代码规范标准《阿里巴巴Java开发手册》下载

管理贝贝 2017-02-10 15:14:36 77768浏览量 回答数 37

53

回答

OSS C/C++ SDK分享交流区

否极泰来 2015-06-15 17:05:09 48080浏览量 回答数 53

15

回答

网页挂马及暗链检测

yundun1 2012-02-24 17:40:01 47245浏览量 回答数 15

58

回答

技术入门问答集锦,涉及多种技术方向,解决新人学习困惑

管理贝贝 2016-08-03 10:13:27 52770浏览量 回答数 58

23

回答

【云服务器分享】网站访问速度快才是硬道理

dreamdoo 2012-10-15 10:15:02 85395浏览量 回答数 23

11

回答

Windows2008r2+IIS7.5+mysql+php+URL_rewrite伪静态的环境配置

zhedianshi 2014-07-23 10:23:25 47682浏览量 回答数 11
+关注
10077
文章
2994
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载