【问题标题】:Circular scroll array [duplicate]圆形滚动数组[重复]
【发布时间】:2020-12-25 08:28:23
【问题描述】:

我不发布代码是因为我不知道如何编写它,我有一个整数数组和一个用户输入的数字“k”。程序要做的就是将数组 k 位置的元素向前平移。当最后一个元素从数组中出来而它们应该位于第一个单元格之间时,我不知道该怎么做。一种价值的循环运动。哪个从末尾返回到数组的开头。

【问题讨论】:

标签: c


【解决方案1】:

如果您在数组中的索引 i 处,(i + k) mod array_length 将为您提供圆周运动。例如,在一个 3 长数组的中间向前移动两个点:

[a b c] 
   ^ i = 1

[a b c] ?
        ^ i = (1 + 2) mod 3

[a b c]
 ^ i = 3 mod 3 = 0

根据您实施解决方案的方式,您可能需要检查 karray_length 是否互质。如果不是,您最终可能会在同一个循环中遍历数组,而不是覆盖每个元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多