• BubbleSort冒泡排序 wang


    冒泡排序是稳定的排序,时间复杂度为O(n^2);

    BubbleSort.h

    #ifndef BUBBLESORT_H
    #define BUBBLESORT_H
    #include <iostream>
    #include <vector>
    using namespace std;
    class BubbleSort
    {
    private:
    vector<int> list;
    public:
    BubbleSort::BubbleSort(vector<int> _list);
    void bubble_sort();
    void out();
    };
    #endif;

    BubbleSort.cpp

    #include <iostream>
    #include <vector>
    #include "BubbleSort.h"
    using namespace std;
    BubbleSort::BubbleSort(vector<int> _list)
    {
    for(int i=0;i<_list.size();i++)
    list.push_back(_list[i]);
    this->list= list;
    }
    void BubbleSort::bubble_sort()//函数中的变量就是BubbleSort类中的变量,加上BubbleSort就可以在此函数的作用域类有效
    {

    for(int i = list.size()-1;i<list.size();i--)
    for(int j=i-1;j>=0;j--)
    {
    if(list[j]>list[i])
    {
    int temp;
    temp=list[j];//交换前一定要初始化temp
    list[j]=list[i];

    list[i]=temp;
    }
    }
    }

    void BubbleSort::out()
    {
    for(int i = 0; i<list.size();i++)
    {
    cout<<list[i]<<endl;;
    //if((i+1)%3==0)
    //cout<<endl;
    }

    }

    void main()
    {
    vector<int> _list;
    _list.push_back(20);
    _list.push_back(1);
    _list.push_back(10);
    _list.push_back(2);
    BubbleSort bs(_list);
    bs.bubble_sort();
    bs.out();
    getchar();
    }

    输出结果:




  • 相关阅读:
    BCD与ASCII码互转-C语言实现
    <<用法
    linux无锁化编程--__sync_fetch_and_add系列原子操作函数
    C中的volatile用法
    c++ k^1
    linux ftp使用相关
    linux应用程序启动时加载库错误问题
    kafka消费者脚本无法启动问题
    Django框架简介
    前端基础之Bootstrap
  • 原文地址:https://www.cnblogs.com/Turtle/p/2185204.html
Copyright © 2020-2023  润新知