計蒜客 順序表的迴圈左移

2021-09-17 22:16:23 字數 1127 閱讀 6109

順序表的構造、插入、擴充套件、查詢、刪除、遍歷這 6 種操作。一種新的操作:迴圈左移。

對於順序表 l=(a_0, a_1, …, a_)l=(a​0,a​1,…,a​n−1),迴圈左移 k位意味著將順序表變為 l^k=(a_k, a_, …, a_, a_0, a_1, …, a_)

l​k=(ak,a​k+1,…,an−1,a​0,a1,…,a​k−1)。

比如:長度為 8 的順序表 (1, 2, 3, 4, 5, 6, 7, 8)(1,2,3,4,5,6,7,8),迴圈左移 3 位後的結果為 (4, 5, 6, 7, 8, 1, 2, 3)(4,5,6,7,8,1,2,3)。

輸入格式:

第一行輸入兩個整數 n(1 \leq n \leq 100)n(1≤n≤100) 和 k(0 \leq k \leq n)k(0≤k≤n),分別表示順序表的元素個數和迴圈左移的位移量。

第二行一共 n 個整數 a_i(0 \leq a_i \leq 10000)a​i​​ (0≤a​i≤10000),表示順序表中元素的值。

輸出格式:

輸出輸出只有一行 n 個整數,順序輸出迴圈左移後順序表中每個元素的值,每個元素之間用乙個空格分隔。行末不要有多餘空格。

樣例輸入

8 31 2 3 4 5 6 7 8

樣例輸出

4 5 6 7 8 1 2 3

// an highlighted block

#include

#include

#define maxsize 100

using namespace std;

template

class

vector

~vector()

void

insert

(type value)

void

llop

(type k)

else

}delete

old_data;

}void

print()

else}}

};int main()

a.llop

(k);

a.print()

;return0;

}

順序表迴圈左移

對於順序表 l a0 a1 an 1 迴圈左移 k位意味著將順序表變為 lk ak ak 1 an 1 a0 a1 ak 1 比如 長度為 8 的順序表 1,2,3,4,5,6,7,8 迴圈左移 3 位後的結果為 4,5,6,7,8,1,2,3 輸入格式 第一行輸入兩個整數 n 1 n 100 分別...

順序表的迴圈右(左)移

我們經常能在演算法題中看到如下題 這兩個題目其實本質上是相同的,都是對整個陣列的迴圈左移或右移。注 陣列和順序表的概念類似但是不相同,陣列是邏輯結構,順序表是線性表採用順序儲存方式實現的,而順序儲存方式是物理儲存方式,所以二者不能混淆,即順序表指的是連續存放在記憶體中的線性表,陣列是記憶體中一串連續...

計蒜客 單獨的數字

給定乙個陣列 a,除了乙個數出現一次之外,其餘數都出現三次。找出出現一次的數。如 找出 7。你的演算法只能是線性時間的複雜度,並且不能使用額外的空間哦 輸入格式 第一行輸入乙個數n 1 n 500 代表陣列的長度。接下來一行輸入 n 個 int 範圍內 2147483648 2147483647 的...