C++ Selection sort

void Util::getArray(int *arr,int len)
{
    srand(time(NULL));
    for(int i=0;i<len;i++)
    {
        *(arr+i)=rand();
    }
}

void Util::printArray(int *arr,int len)
{
    for(int i=0;i<len;i++)
    {
        cout<<*(arr+i)<<"\t";
    }
    cout<<endl;
}

void Util::selectionSort7(int *arr,int low,int len)
{
    int minIndex=low;
    for(int i=0;i<len-1;i++)
    {
        for(int j=i+1;j<=len;j++)
        {
            if(arr[j]<arr[minIndex])
            {
                minIndex=j;
            }
        }

        if(i!=minIndex)
        {
            swap(&arr[i],&arr[minIndex]);
        }
    }
}

void Util::swap(int *left,int *right)
{
    int temp=*left;
    *left=*right;
    *right=temp;
}

void Util::array8(int len)
{
    int *arr=new int[len];
    getArray(arr,len);
    cout<<"Print array before sort:"<<endl;
    printArray(arr,len);
    selectionSort7(arr,0,len-1);
    cout<<"After selection sort:"<<endl;
    printArray(arr,len);
    cout<<"Finished in void Util::array8(int len) and now is "<<getTimeNow()<<endl;
}
int main()
{
    array3();
    return 0;
}

void array3(int len)
{
    Util ul;
    ul.array8();
}

g++ -g -std=c++2a -I. *.cpp ./Model/*.cpp -o h1 -luuid

 

posted @ 2022-02-27 13:45  FredGrit  阅读(29)  评论(0编辑  收藏  举报