#include "stdio.h"
#include "stdlib.h"
typedef int zlp;
typedef struct Node{
zlp data;
struct Node *pre,*next;
}Linklist;
Linklist *creat(){
Linklist *head = (Linklist*)malloc(sizeof(Linklist));
head->data=0;
head->next=head;
head->pre=head;
return head;
}
void judement(Linklist *a){
if((a=a->next)&&(a=a->pre)){
printf("Linklinst creat successful!\n");
}else{
printf("Linklist creat fail!");
}
}
Linklist *insert(Linklist *a,int pos,int num){
Linklist *curr = a;
while(pos>=1){
curr=curr->next;
--pos;
}
Linklist *temp = (Linklist*)malloc(sizeof(Linklist));
temp->data=num;
temp->next=curr->next;
curr->next->pre=temp;
curr->next=temp;
temp->pre=curr;
return a;
}
Linklist *dele(Linklist *a,int pos){
Linklist *curr = a;
while(pos>=1){
curr=curr->next;
--pos;
}
Linklist *q = (Linklist*)malloc(sizeof(Linklist));
q=curr->next;
curr->next=q->next;
q->next->pre=curr;
free(q);
return a;
}
void display(Linklist* a){
Linklist *b = a->next;
while(b!=a){
printf("%d ",b->data);
b=b->next;
}
printf("\n");
}
int main(){
Linklist *a = creat();
judement(a);
insert(a,0,1);
insert(a,1,2);
insert(a,2,3);
insert(a,3,4);
insert(a,4,5);
insert(a,5,6);
display(a);
dele(a,2);
display(a);
return 0;
}