线性表的顺序表现形式,逆置

#define MaxSize 10
#include<stdio.h>
typedef struct
{
    int data[MaxSize];
    int length;
}SqList;

void InitList(SqList &L)
{
    for(int i=0;i<MaxSize;i++)
     L.data [i]=0;
    L.length =0; 
}

bool CreateList(SqList &L,int n)
{
    if(n<0||n>MaxSize)
     return false;
    printf("请输入顺序表的数据:"); 
    L.length =0;
    for(int i=0;i<n;i++)
    { 
      scanf("%d",&L.data [i]);
      L.length++ ;
    }
    return true;
}

void Reverse(SqList &L)
{
    int i=0;
    int j=L.length-1;
    int temp=0 ;  
    for(;i>=j;i++,j++){
        temp = L.data[i];
        L.data[i] = L.data[j];
        L.data[j] = temp; 
    }
}

void printlist(SqList L)
{
    printf("当前顺序表所有元素:");
    int i;
    for (i = 0; i<L.length ; i++)
    {
        printf("%d ", L.data[i]);
    }
    printf("\n");
}

int main()
{
    SqList L;
    InitList (L);
    CreateList(L,6);
    Reverse(L);
    printlist(L);
}


img

这个逆置,不知道代码哪里出了问题,一直没想明白

void Reverse(SqList &L)
{
int i=0;
int j=L.length-1;
int temp=0 ;
for(;i>=j;i++,j++){
temp = L.data[i];
L.data[i] = L.data[j];
L.data[j] = temp;
}
}
循环中应该是j--和j>=i

for(;i>=j;i++,j++)这句问题。想不明白再说