建立一个单链表,输入5个字符,建立含有n个节点的单链表

如题所述

//定义链表:
typedef struct node

{
char member_name[20];//链表中单节点的数据项,还可以写更多.
sruct node *link;//专用于链表的指针.叫该链表的链域.
}_list;//链名.由它所定义的节点(一般叫指针)就可以组成链表.

int N;
int main()
{
s_list h,s,p;
//分配内存空间
if((h=(s_list*)malloc(sizeof(s_list)))==NULL)
{printf("不能分配内存空间!");
eixt(0);}
h->name[0]='\0';
h->link=NULL;//定义链头
p=h->link;
for(int i=0;i<N;i++)
{
if((s=(s_list*)malloc(sizeof(s_list)))==NULL)
{ cout<<"\ncant't make memery space!";
exit(-1);}//分配,判断是否有可用的内存空间.
p-link=s;
// 在这里为新节点s赋值.
s->link=NULL;
p=p->link;//即p=s;
}//endfor
这样就在内存中创建了一个以h为链头的链表.n表示了链表中有多少个记录(节点).
温馨提示:答案为网友推荐,仅供参考
相似回答