Per [set.cons] \ 4 конструкторы итераторов std::set
имеют
Сложность: Линейный в N
, если диапазон [first, last)
уже отсортирован с использованием comp
, а в противном случае N log N
, где N
равно last - first
.
Так что в вашем случае у вас все еще есть сложность N log N
, поскольку numbers
не сортируется и ничем не отличается от простого использования std::sort
, как
int main()
{
int numbers[]={60 , 2 , 3 , 35, 67, 111, 5, 7};
std::sort(std::begin(numbers), std::end(numbers));
for(auto x : numbers)
{
cout << x << " ";
}
cout << endl;
return 0;
}
за исключением того, что в случае использования набора вам нужно выделить узлы, чтобы вы добавили все эти затраты.