这种逻辑似乎是正确的,但不起作用。有没有错

时间:2019-03-28 09:53:22

标签: c++

程序将反转数组的内容。 例如,如果数组包含{1,2,3,4,5} 它应该显示{5,4,3,2,1}

for(i=0;i<n;i++)
{
    tmp=a[i];
    a[i]=a[n-1-i];
    a[n-1-i]=tmp;
}

4 个答案:

答案 0 :(得分:5)

要反转数组,请不要遍历整个数组。这将导致两次反转阵列。 尝试for(i=0;i<n/2;i++)

答案 1 :(得分:0)

您可以这样反转

arr.push({url:require(images[i].path) });

答案 2 :(得分:-1)

您要就地反转数组,因此在第一步之后,您的第一个和最后一个元素都处于正确的位置。在迭代了一半以上的元素之后,您将前半部分和后半部分置于其正确位置。现在,遍历所有元素,将每个元素交换两次,从而得到原始数组。

答案 3 :(得分:-1)

int i = 0, j = n - 1;
for (i = 0; i < n/ 2; i++, j--)
{
    int temp = array[i];
    array[i] = array[j];
    array[j] = temp;
}