。。。这次数据结构实验让我更深地认识到了链表和指针,以后多看一点,理解链表。
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct {
int num;
struct node *next;
}node,*linklist;
void insert(linklist l,int num1){
linklist p,r,s;
int i;
p=l;
//printf("%d\n",sizeof(*l));
for(i=1;i<=num1;i++){
if(i!=num1){
p->num=i;
p->next=(linklist)malloc(sizeof(node));
p=p->next;
}else{
p->num=i;
p->next=l;
}
}
}
void deletenode(linklist l,int m){
linklist s,p=l;
int num=1;
while(p->next!=p){
if(num==m-1){
s=p->next;
p->next=s->next;
printf("%d\n",s->num);
free(s);
num=0;
}
p=p->next;
num++;
}
printf("\n\n%d",p->num);
}
int main() {
int i,n=0,m=0;
linklist p;
linklist l=(linklist)malloc(sizeof(node));
scanf("%d%d",&n,&m);
insert(l,n);
p=l;
deletenode(l,m);
return 0;
}