- 论坛徽章:
- 0
|
#include <stdio.h>;
#include <string.h>;
struct VCHNODE
{
char clicode[19];
char vchnoarray[255][16];
int index;
struct VCHNODE *next;
};
typedef struct VCHNODE VchNode;
printlink(VchNode *l)
{
int i;
while(l)
{
printf("clicode=%s",l->;clicode);
for(i=0;i<l->;index;i++)
{
printf("vchno=%s",l->;vchnoarray);
}
printf("\n" ;
l=l->;next;
}
}
/*---------------------------------------------------*/
/* freelink 释放链表 */
/*---------------------------------------------------*/
short int freelink(VchNode *head)
{
VchNode *p;
while(head)
{
p=head;
head=p->;next;
free(p);
}
return 0;
}/*---------------------------------------------------*/
/* addtolink 加入链表 */
/*---------------------------------------------------*/
VchNode * addtolink(VchNode *head,VCHINFO vchinfo)
{
VchNode *p,*s;
if(head)
{
if(strcmp(head->;clicode,vchinfo.clicode)==0)
{
strcpy(head->;vchnoarray[head->;index],vchinfo.vchno);
head->;index=head->;index+1;
return head;
}
s=(VchNode *)malloc(sizeof(VchNode));
strcpy(s->;clicode,vchinfo.clicode);
strcpy(s->;vchnoarray[0],vchinfo.vchno);
s->;index=1;
s->;next=NULL;
s->;next=head;
}
else
{
s=(VchNode *)malloc(sizeof(VchNode));
strcpy(s->;clicode,vchinfo.clicode);
strcpy(s->;vchnoarray[0],vchinfo.vchno);
s->;index=1;
s->;next=NULL;
}
head=s;
return head;
}
main()
{
VCHINFO aaa,bbb,ccc,ddd;
VchNode *L=NULL;
strcpy(aaa.clicode,"clicode1" ;
strcpy(aaa.vchno,"222222222222222" ;
L=addtolink(L,aaa);
strcpy(bbb.clicode,"clicode1" ;
strcpy(bbb.vchno,"333333333333333" ;
L=addtolink(L,bbb);
strcpy(ccc.clicode,"clicode2" ;
strcpy(ccc.vchno,"333333333333333" ;
L=addtolink(L,ccc);
strcpy(ddd.clicode,"clicode2" ;
strcpy(ddd.vchno,"555555555555555" ;
L=addtolink(L,ddd);
strcpy(ddd.clicode,"clicode2" ;
strcpy(ddd.vchno,"111111111111111");
L=addtolink(L,ddd);
L=addtolink(L,bbb);
freelink(L);
printlink(L);
} |
|