#include <myhead.h>
typedef struct linklist
{
union{
char data;
int len;
};
struct linklist *prev;
struct linklist *next;
}*L,l;
L create_H()//创建头节点
{
L H=(L)malloc(sizeof(l));
H->len=0;
H->prev=NULL;
H->next=NULL;
return H;
}
L create(char n)//创建普通节点
{
L p=(L)malloc(sizeof(l));
p->data=n;
p->prev=NULL;
p->next=NULL;
return p;
}
void input(L H,char n)//头插
{
L p=create(n);
p->next=H->next;
if(H->next!=NULL)
H->next->prev=p;
H->next=p;
p->prev=H;
}
void delete(L H)//尾删
{
if(H->next==NULL)
{
printf("链表已空\n");
return;
}
L p=H;
while(p->next!=NULL)
{
p=p->next;
}
printf("%c\n",p->data);
p->prev->next=NULL;
free(p);
p=NULL;
}
int main(int argc, const char *argv[])
{
L H=create_H();
for(char i='a';i<='z';i++)
{
input(H,i);
}
for(int i=1;i<=26;i++)
{
delete(H);
}
return 0;
}
10.1HW
最新推荐文章于 2024-10-06 20:16:20 发布