#include<stdio.h>
#include<stdlib.h>
struct node


{
int data;
struct node *next;
};//結(jié)構(gòu)類型的說(shuō)明

struct node *stack(struct node *head)


{
int i;
struct node *p;
p = (struct node*)malloc(sizeof(struct node));
p->next = NULL;
for(i=0;i<10;i++)

{
head = (struct node*)malloc(sizeof(struct node));
p->data = i;
head->next = p;
p = head;;
}
return (head);
}//棧

struct node *team(struct node *head)


{
int i;
struct node *tail,*p;
head = (struct node*)malloc(sizeof(struct node));
tail = head;
for(i=0;i<10;i++)

{
p = (struct node*)malloc(sizeof(struct node));
p->data = i;
tail->next = p;
tail = p;
}
tail->next = NULL;
return (head);
}//隊(duì)列

void print_list(struct node *head)


{
struct node *p;
p = head->next;
printf("Begin");
while(p != NULL)

{
printf("->%d",p->data);
p = p->next;
}
printf("->End\n");
}//鏈表輸出

void detele_x(struct node *head,int x)


{
struct node *p,*q;
p = head;
q = head->next;
while(q->data != x && q->next != NULL)

{ p = q; q = q->next; }
if(q->data == x)
p->next = q->next;
free(q);
}//刪除數(shù)據(jù)域?yàn)閤的結(jié)點(diǎn)

void add_x_y(struct node *head,int x,int y)


{
struct node *add_new,*p,*q;
add_new = (struct node*)malloc(sizeof(struct node));
add_new->data = x;
p = head;
q = head->next;
while(q != NULL && q->data != y)

{ p = q; q = q->next; }
p->next = add_new;
add_new->next = q;
}//在數(shù)據(jù)為y的結(jié)點(diǎn)前插入數(shù)據(jù)域?yàn)閤的結(jié)點(diǎn)
