这段代码试图将数组元素循环右移一位,但实现逻辑有误。当前代码从索引1开始遍历,每次交换相邻元素,这会导致元素被多次覆盖,而不是整体右移。 - 循环右移的正确思路是:先保存最后一个元素,然后将所有元素从后往前依次后移一位,最后把保存的元素放到第一个位置。你的代码中保存了最后一个元素,但移动方向是从前往后,这会导致数据错乱。 - 注意循环的范围:你从i=1到i<size-1,这漏掉了索引0和最后一个元素的处理,而且每次交换会覆盖a[i+1]的值,导致丢失数据。
Copy this url:
QR-code: