如何把乙個陣列迴圈右移k位

2021-07-01 19:48:05 字數 444 閱讀 9079

假設要把陣列序列為12345678右移兩位變為78123456,比較移位前後陣列序列的形式,不難看出,其中有兩段序列的順序是不變的,即78和123456,可以把這兩段看作兩個整體,右移k位就是把陣列的兩部分交換一下。鑑於此,可以設計這樣一種演算法,步驟如下(以陣列序列12345678為例):

1)逆序陣列子串行123456,陣列序列的形式變為65432178.

2)逆序陣列子串行78,陣列序列的形式變為65432187

3)全部逆序,陣列序列的形式變為78123456.

程式**如下:

package test;

public class test{

public static void reverse(int a,int b,int e){

for(;b

時間複雜度為o(n)

陣列 如何把乙個陣列迴圈右移K位

假設要把陣列12345678右移2位,變為78123456。比較移位前後陣列序列的形式,不難看出,其中有兩段序列的順序是不變的,即就是 78 和 123456,可以把這兩段看做兩個整體,右移k位就是把陣列的兩部分交換一下。時間複雜度為o n 步驟 1 逆序陣列子串行123456,陣列序列的形式為65...

如何把char字串迴圈右移N位

c語言實現 輸入乙個字串,將其迴圈右移n位。1.利用strcpy 函式實現 即將輸入pstr的後n位放入temp的前n位,再將pstr所有 到 o 結束 放入temp的後面。假如pstr 12345678 n nbits 3,則這時候,temp 67812345678 所以再把temp後面多餘部分截...

php 清空乙個陣列 php如何刪除乙個陣列

php如何刪除乙個陣列2020 07 10 01 16 35 php刪除乙個陣列的方法 1 使用unset函式刪除乙個陣列元素,且保持原有索引不變 2 使用 array splice 函式刪除乙個陣列元素,不保持索引 3 使用 array diff 函式,按值刪除多個元素,保持索引。php刪除陣列 ...