#include<stdio.h>
#include<malloc.h>
struct NOD
{
char ch;
NOD *next;
};
NOD *create()
{
NOD *head=NULL;
NOD *pLast=NULL;
NOD *pNew=NULL;
pLast=head=(NOD*)malloc(sizeof(NOD));
head->ch=97;
for(int i=1;i<8;i++)
{
pNew=(NOD*)malloc(sizeof(NOD));
pNew->ch=97+i;
pLast->next=pNew;
pLast=pNew;
}
pLast->next=NULL;
return head;
}
void print(NOD *head)
{
NOD *p=head;
do
{
printf("%c",p->ch);
p=p->next;
}
while(p->next!=NULL);
}
NOD *del(NOD *head,char n)
{
NOD *p=head;
NOD *q=head;
if(head->ch==n)
{
head=head->next;
}
else
{
while(p->ch!=n||p->next==NULL)
{
q=p;
p=p->next;
}
q->next=p->next;
}
return head;
}
void lianjie(NOD *head)
{
NOD *p=head;
while(p->next!=NULL)
{
p=p->next;
}
p->next=head;
}
void guanjian(NOD *head)
{
int i;
char a[8];
NOD *s=NULL;
NOD *p=head;
for(i=0;i<7;i++)
{
for(int j=1;j<7;j++)
{
s=p;
p=p->next;
}
a[i]=p->ch;
s->next=p->next;
p=p->next;
// p->ch=' ';
printf("%c",a[i]);
}
int flag=0;
for(int j=97;j<=104;j++)
{
for(i=0;i<7;i++)
{
if(a[i]==j)
{flag=1;break;}
else
flag=0;
}
if(flag==0){putchar(10);printf("%c",j);break;}
}
//p=head;
// while(p->ch==' ')
// {
// p=p->next;
// }
}
void main()
{
NOD *h;
//NOD *h2;
h=create();
// h2=del(h,'c');
// print(h2);
lianjie(h);
guanjian(h);
}