sdut.acm 2012级《程序设计基础Ⅱ)》_链表 来淄博旅游
2013-05-11 21:11
405 查看
#include <stdio.h>
#include <malloc.h>
#include <string.h>
struct node
{
char name[21],from[21],to[10];
int n ;
struct node *next;
};
struct node *create(int NUM)
{
struct node *Head,*tail,*p;
int i;
Head = (struct node *)malloc(sizeof(struct node));
Head->next = NULL;
tail = Head;
for(i = 1;i <= NUM;i++)
{
p = (struct node*)malloc(sizeof(struct node));
scanf("%s %s %s",p->name,p->from,p->to);
p->n = 0;
p->next = NULL;
tail->next = p;
tail = p;
}
return (Head);
}
void print1(struct node *Head1)
{
struct node *q,*r;
q = Head1->next;
r = Head1->next;
printf("%s :",q->from,q->name);
while(q != NULL)
{
while(r != NULL)
{
if(strcmp(r->from,q->from) == 0)
{
printf(" %s",r->name);
r->n = 1;
r = r->next;
}else
{
r = r->next;
}
}
printf("\n");
q = q->next;
r = q;
while(q)
{
if( r->n == 0)
{
printf("%s :",q->from,q->name);
break;
}
else
{
q = q->next;
r = q;
}
}
}
}
void print2(struct node *Head2)
{
struct node *p;
p = Head2->next;
char TO1[8]="zichuan",TO2[6]="linzi",TO3[8]="zhoucun",TO4[7]="boshan";
printf("%s :",TO1);
while(p != NULL)
{
if(strcmp(p->to,TO1) == 0)
{
printf(" %s",p->name);
p = p->next;
}else
p = p->next;
}
printf("\n");
p = Head2->next;
printf("%s :",TO2);
while(p != NULL)
{
if(strcmp(p->to,TO2) == 0)
{
printf(" %s",p->name);
p = p->next;
}else
p = p->next;
}
printf("\n");
p = Head2->next;
printf("%s :",TO3);
while(p != NULL)
{
if(strcmp(p->to,TO3) == 0)
{
printf(" %s",p->name);
p = p->next;
}else
p = p->next;
}
printf("\n");
p = Head2->next;
printf("%s :",TO4);
while(p !=NULL)
{
if(strcmp(p->to,TO4) == 0)
{
printf(" %s",p->name);
p = p->next;
}else
p = p->next;
}
free(p);
}
int main()
{
struct node *head1,*head2;
int num;
scanf("%d",&num);
head1 = create(num);
head2 = head1;
print1(head1);
print2(head2);
return 0;
}
相关文章推荐
- sdut.acm 2012级《程序设计基础Ⅱ)》_链表 整理音乐
- sdut.acm 2012级《程序设计基础Ⅱ)》_链表 不敢死队问题
- sdut.acm 2012级《程序设计基础Ⅱ)》_动态规划 数字三角形问题
- sdut.acm 2012级《程序设计基础Ⅱ)》_动态规划 最长公共子序列问题
- sdut.acm 2012级《程序设计基础Ⅱ)》_动态规划 最长上升子序列
- Java sdut acm 2178 链表的有序集合
- sdut.acm 2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表七:单链表中重复元素的删除
- <sdut-ACM>数据结构实验之链表一:顺序建立链表
- sdut.acm2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表四:有序链表的归并
- SDUT 2055----来淄博旅游
- sdut.acm2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表三:链表的逆置
- ACM-sdut2055来淄博旅游
- sdut.acm2012级《程序设计基础Ⅱ)》_链表 数据结构实验之链表二:逆序建立链表
- SDUT_2015寒假集训_结构体练习_D-来淄博旅游
- sdut.acm2012级《程序设计基础Ⅱ)》_链表 金牌、银牌、铜牌
- 来淄博旅游(链表)
- SDUT OJ 来淄博旅游 ——链表做法
- SDUT—《程序设计基础(B)Ⅱ》实验2链表的双向
- SDUT 2055 来淄博旅游
- SDUT 来淄博旅游