Po pierwsze, zawsze przesyłaj std::vector jak i inną klasę złożoną (de facto wszystko poza prymitywami) za pomocą const referencji (const std::vector<int>& vec). Nie ma sensu go kopiować tylko do wypisania.
Co do sortowania na vektorze:
std::vector<int> v = {1,8,4,5,6};
std::sort(v.begin(),v.end(),[](int x, int y){ return x>y; });
Lub możesz też użyć setu:
std::set<int,std::greater<int>> s = {1,8,4,5,6};
Oba po wypisaniu dadzą wynik 8 6 5 4 1.