rotate(deq.begin(), deq.begin() + x, deq.begin() + x + 1);//将x个元素移动到队首
将第x个元素移动到队首。
std::rotate 算法的时间复杂度为线性的 $O(n)$,其中 $n$ 是被旋转的元素的数量。这是因为算法需要对 [first, last) 区间内的元素进行一次完整的旋转操作,将中间的元素移动到前面或后面。由于我们只需要移动一个元素到队首,因此 $n=1$,算法的时间复杂度为常数级的 $O(1)$。因此,将一个元素移动到队首的操作是非常高效的。