标题:递归链表的实现
只看楼主
missiyou
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:531
专家分:218
注 册:2007-10-9
结帖率:100%
 问题点数:0 回复次数:0 
递归链表的实现

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<malloc.h>
typedef int ElemType;
typedef struct node
{ ElemType data;
struct node *next;
}Linknode,*LinkList;

Linknode *Create(LinkList L)
{int ch;
scanf("%d",&ch);
if(ch==0)
L=NULL;
else
{L=(LinkList)malloc(sizeof(Linknode));
L->data=ch;
L->next=Create(L->next);
}
return L;
}
void print(LinkList L)
{
if(L!=NULL)
{printf("%d->",L->data);
print(L->next);
}
else
printf("NULL");
}

Linknode *find(LinkList L,ElemType x)
{
if(L!=NULL)
{
if(L->data==x)return L;
else
find(L->next,x);
}
else
return NULL;
}
Linknode *findpos(LinkList L,int i)
{
if(L!=NULL)
if(i==2)
return L;
else
L=findpos(L->next,i-1);
else
return NULL;

}

void destory(LinkList L)
{
if(L!=NULL)
{
destory(L->next);
free(L);
}
else
return;

}
void insert(LinkList L,int i,ElemType x)
{
LinkList p,s;
p=findpos(L,i);
s=(LinkList)malloc(sizeof(Linknode));
s->data=x;
s->next=p->next;
p->next=s;
}

int main(int argc, char *argv[])
{
LinkList S;

S=(LinkList)malloc(sizeof(Linknode));
S=Create(S);
printf("\n显示链表\n");
print(S);
insert(S,2,7);
printf("\n显示链表\n");
print(S);
destory(S);
system("PAUSE");
return 0;
}
没办法,群里人实在有点少。所以在这里,找一些志同道合的朋友加入本人的群。
群号是:43047318

搜索更多相关主题的帖子: 链表 递归 include next node 
2007-11-01 21:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-182672-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012549 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved