将顺序表中的所有元素逆置

题目:如题

———-是你的代码

#include 
#include 

#define MaxSize 5
typedef int ElementType;
typedef struct LNode * SeqList;
struct LNode{
    ElementType data[MaxSize];
    ElementType Last;
};

SeqList MakeEmpty();
void print(SeqList L);
void reverse(SeqList L);

int main()
{
    SeqList L;
    L = MakeEmpty();
    printf("before reverse\n");
    print(L);
    reverse(L);
    printf("\n after reverse\n");
    print(L);
    return 0;
}

SeqList MakeEmpty()
{
    SeqList L;
    L = (SeqList)malloc(sizeof(struct LNode));
    //数组初始化时,可以用{},但这里不是初始化,是赋值,只能一个一个赋值,不能多个同时赋值
    L->data[0] = 1;
    L->data[1] = 2;
    L->data[2] = 3;
    L->data[3] = 4;
    L->data[4] = 5;
    L->Last = 4;
    return L;
}

void print(SeqList L)
{
    int i ;
    for(i = 0; i<=L->Last;i++)
    {
        printf(" %d",L->data[i]);
    }
}

void reverse(SeqList L)
{
    int i,j,temp;
    for(i=0,j=L->Last;i--){
        temp = L->data[i];
        L->data[i] = L->data[j];
        L->data[j] = temp;
    }
}

你可能感兴趣的:(数据结构与算法)