#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
char data;
struct node *next;
}rlinklist;
void create_rlink(rlinklist *l,int n)
{
rlinklist *p;
for(int i=0;i<n;i++)
{
p=(rlinklist *)malloc(sizeof(rlinklist));
p->data=(char)i+65;
// l->next=p->next;
p->next=l->next;
l->next=p;
}
/*
while(p->next) p=p->next;
p->next=l;
*/
// p->next=l;
}
void reverse_rlink(rlinklist *l)
{
rlinklist *p,*q;
p=l->next;
while(p->next)
{
q=p->next;
p->next=q->next;
q->next=l->next;
l->next=q;
l->next=q;
}
}
void display(rlinklist *l)
{
rlinklist *p;
p=l->next;
// while(p!=l)
while(p)
{
printf("%c ",p->data);
p=p->next;
}
printf("/n");
}
int main()
{
rlinklist *l;
l=(rlinklist *)malloc(sizeof(rlinklist));
create_rlink(l,6);
display(l);
reverse_rlink(l);
display(l);
return 0;
}