0
点赞
收藏
分享

微信扫一扫

C++ 用冒泡排序给数组排序(bubble sort)

程序员阿狸 2022-03-11 阅读 218
#include<iostream>
#include<cstring>
#include<cstdlib>


using namespace std;


template<typename type>
class Array
{
public:
    type* array;
    int size;
    
    Array(int sz)
    {
        array=new type[sz];
        size=sz;
    }
    ~Array()
    {
        delete [] array;
    }
    
};
int compare(int a,int b);
void swap(int* array,int a,int b);
template<typename type>
void bubbleSort(Array<type>& it)
{
    int flag=0;
    while(!flag)
    {
        flag=1;
        for(int i=0;i<it.size-1;i++)
        {
            if(compare(it.array[i+1],it.array[i])<0)
            {
                swap(it.array,i,i+1);
                flag=0;
            }
        }
        
    }
}
int compare(int a,int b)
{
    if(a>=b)
        return 1;
    return -1;
    
}
void swap(int* array,int a,int b)
{
    int temp;
    temp=array[a];
    array[a]=array[b];
    array[b]=temp;
}


int main()
{
    Array<int> a(10);
    for(int i=0;i<a.size;i++)
    {
        int value;
        cin>>value;
        a.array[i]=value;
    }
    bubbleSort(a);
    for(int i=0;i<a.size;i++)
    {
        cout<<a.array[i]<<'\t';
    }
    cout<<endl;
    return 0;
}


举报

相关推荐

0 条评论