Как вернуть массив шаблонов в с ++ - PullRequest
0 голосов
/ 03 марта 2019

sortedArray - принимает: массив, его размер, логическую переменную по возрастанию, логическую переменную inPlace.

Затем он вернет отсортированный массив.

Если ascending = false, массив будет отсортирован в порядке убывания.

Если inPlace = false, исходный массив не будет изменен.

(Для сортировки массива я использую функцию sort. И при необходимости я использую функцию reverseArray).

n - размер массива arr [].

template<class T>
T* sortedArray(T arr[], int n,bool asc,bool inplc) 
{ 
if(inplc)
    {
    sort(arr,arr+n);
    return arr;
    }
else if (inplc&&!asc)
    {
    sort(arr,arr+n);
    reverse(arr,arr+n);
    return arr;
    }
else if (!inplc&&asc)
    {
    T* arr1=new T[n];
    for(int i=0; i<n;i++)
        {
        arr1[i]=arr[i];
        }
    sort(arr1,arr1+n);
    return arr1;
    }
else 
    {
    T* arr1=new T[n];
    for(int i=0; i<n;i++)
        {
        arr1[i]=arr[i];
        }
    sort(arr1,arr1+n);
    reverse(arr1,arr1+n);
    return arr1;        
    }
} 

Ошибки исправлены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...