线性表的就地逆置(耿2.9)

线性表的就地逆置

题目描述

试分别以不同的存储结构实现线性表的就地逆置算发,即在原表的储存空间将线性表逆置为。
以一位数组作存储结构。
以单链表作存储结构。

输入

第一行输入线性表元素个数elenum;(0 第二行输入elenum个数字,作为线性表中的元素。

输出

分两行分别输出要求(1)和要求(2)的线性表逆置结果。

输入样例

5
2 5 3 7 15

输出样例

15 7 3 5 2
15 7 3 5 2

代码

#include 
#include 

typedef struct tagLNode
{
    int data;
    struct tagLNode *next;
}LNode,*Linklist;

void Create(Linklist *L,int A[],int n) //头插法创建链表(数据逆置)
{
    int i;
    Linklist s;

    *L=(Linklist)malloc(sizeof(LNode));
    (*L)->next=NULL;

    for(i=0;idata=A[i];
        s->next=(*L)->next;
        (*L)->next=s;
    }
}

void Output(Linklist L)
{
    Linklist p=L->next;
    while(p!=NULL)
    {
        printf("%d ",p->data);
        p=p->next;
    }
    printf("\n");
}

int main()
{
    int L[1000],elenum,i;
    Linklist L1;

    scanf("%d",&elenum);

    for(i=0;i=0;i--)
        printf("%d ",L[i]);
    printf("\n");
    Output(L1);

    return 0;
}

你可能感兴趣的:(线性表的就地逆置(耿2.9))