SDUTOJ 2118数据结构实验之链表三:链表的逆置

#include
#include
using namespace std;
typedef int ElemType;
typedef struct LNode
{
	ElemType data;
	struct LNode *next;
}LNode,*LinkList;
void show(LinkList L)
{
	LinkList p;
	p=L->next;
	while(p)
	{
		if(p->next==NULL)
		cout<data<data<<" ";
		p=p->next;
	}
}
void Reserve(LinkList L)
{
	LinkList p,q;
	p=L->next;
	L->next=NULL;
	q=p->next;
	while(p!=NULL)
	{
		p->next=L->next;
		L->next=p;
		p=q;
		if(q!=NULL)
		{
			q=q->next;
		}
	}
	show(L);
}
void CreateList_L()
{
	LinkList L,p;
	int x;
	L=new LNode;
    L->next=NULL;
	LinkList q=L;
	cin>>x;
	while(x!=-1)
	{
		p=new LNode;
		p->next=NULL;
		q->next=p;
		q=p;
		q->data=x;
		cin>>x;
	}
    Reserve(L);
}
int main()
{
     CreateList_L();
	 return 0;
}

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