怎么建立单链表
要建立一个存放“编号 姓名 固定电话 移动电话 部门”的链表,怎么做呀?存放编号和姓名到是会,多了就头昏了。。。。还有插入和输出!
给我指点下啊!有例子最好!谢谢
我是用C或者C++做哦
参考答案:由于匆忙 有不足之处还请指点 希望对你有帮助
#include<stdio.h>
typedef struct node/*单链表*/
{
/*数据域----------------------------------*/
int number;/*编号*/
char *name;/*姓名*/
long tel;/*固定电话*/
long phone;/*移动电话*/
char *dept;/*部门*/
/*指针域----------------------------------*/
struct node *next;
}node;
void W_get(node *h,long c)/*尾插*/
{
node *p;
p=(node*)malloc(sizeof(node));
p->number=c;
printf("Input the name of number %d:",c);
scanf("%s",p->name);
printf("Input the tel of number %d:",c);
scanf("%ld",&p->tel);
printf("Input the phone of number %d:",c);
scanf("%ld",&p->phone);
printf("Input the dept of number %d:",c);
scanf("%s",p->dept);
p->next=NULL;
while(h->next!=NULL)
h=h->next;
p->next=h->next;
h->next=p;
}
main()
{
node *h,*p;
long c;
h=(node*)malloc(sizeof(node));
h->next=NULL;
printf("please Input number:");
scanf("%ld",&c);
while(c>=0)/*编号为小于0时结束输入,不再插入*/
{
W_get(h,c);
printf("\nplease Input number:");
scanf("%ld",&c);
}
p=h->next;
while(p!=NULL)/*输出链表*/
{
printf("\n->number:%d| name:%s| tel:%ld| phone:%ld| dept:%s",p->number,p->name,p->tel,p->phone,p->dept);
p=p->next;
}
getch();
}