沒有使用任何stls,boosts和類似的東西我一直試圖旋轉我的數組中的元素。我一直在嘗試使用mod運算符,是有效的:使用mod運算符C++
void stack::rotate(int r)
{
r = (r % maxSize + maxSize) % maxSize;
for (int first_index = 0; first_index < r; ++first_index)
{
int mem = items[first_index].n;
int index = (first_index + r) % maxSize, index_prev = first_index;
while (index != first_index)
{
items[index_prev] = items[index];
index_prev = index;
index = (index + r) % maxSize;
}
items[index_prev].n = mem;
}
如果項目是一個數組分配到項目結構。雖然它有點奇怪,但項目struct有一個整數'n'成員,所以我可以將它與整數類型的變量一起使用。
但它仍然沒有從正在添加右=(。林失去了我的第二個元素的內容,我認爲它的休息時間;)