第一次写链表,望大家指导(猴子选大王)
#include<stdio.h>#include<stdlib.h>
#include<malloc.h>
typedef struct p
{
int a;
struct p *next;
}link;
void *creat(int n)
{
int i;
link *p1,*p2,*l;
p1=(link*)malloc(sizeof(link));
l=p1;
for(i=0;i<n;i++)
{
p2=(link*)malloc(sizeof(link));
p2->next=(link*)malloc(sizeof(link));
p2->next=p1;
p2=p1;
p1=(link*)malloc(sizeof(link));
p1->a=i+1;
}
p2->next=NULL;
l->next=(link*)malloc(sizeof(link));
l->next=p1;
return p1;
}
void *delete (int q,link* pi)
{
link* p0,*p1,*p5;
p0=pi;
int i;
for(i=0;i<q-2;i++)
{
p0=p0->next;
}
p1=p0->next;
p0->next=p1->next;
p5=p1->next;
p1->next=NULL;
return p5;
}
int main()
{
int j,c,d;
link* head,*p3;
scanf("%d%d",&c,&d);
head=creat(c);
p3=head;
for(j=0;j<c-1;j++)
{
p3=delete(d,p3);
}
printf("%d",&p3->a);
return 0;
}
谢谢