| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 362 人关注过本帖
标题:链表合并问题
只看楼主 加入收藏
加法
Rank: 1
等 级:新手上路
帖 子:33
专家分:2
注 册:2013-11-3
结帖率:80%
收藏
 问题点数:0 回复次数:1 
链表合并问题
#include<stdio.h>
#include<malloc.h>
struct student
{
     __int64 num;
     char sex;
     char name[10];
     char from[20];
    struct student *next;
};
struct student *creat()
{
    struct student *head,*p,*q;
    p=(struct student *)malloc(sizeof(struct student));
    head=p;
    q=head;head->next=NULL;
    while(scanf("%I64d %c %s %s",&p->num,&p->sex,p->name,p->from)!=EOF)
    {
        if(head!=p)
        {
            q=head;
            if(q->num>=p->num)
            {
                p->next=head;
                head=p;
            }
            else
            {
                while(q->next!=NULL&&q->next->num<=p->num)
                {
                    q=q->next;
                }
                p->next=q->next;
                q->next=p;
            }
        }
        p=(struct student *)malloc(sizeof(struct student));
    }
    return head;
}
void out(struct student *head)
{
    struct student *p;
    p=head;
    while(p!=NULL)
    {
        printf("%I64d %c %s %s\n",p->num,p->sex,p->name,p->from);
        p=p->next;
    }
}
int main()
{
    struct student *head;
    head=creat();
    out(head);
    return 0;
}
假如要合并以下的两组信息:
5
20100862152 m zhang fuzou
20100862153 f li shanghai
20100862154 m wu sanming
20100862155 f wang zhejian
20100862157 f chen zhangzhou
3
20100862151 m li hunan
20100862158 m fang zhejian
20100862156 f shen tianjin
请问如何在这个排序的代码的基础上编写?
或者给个思路,链表合并有固定模式吗,谢谢
搜索更多相关主题的帖子: include 
2014-01-31 20:09
加法
Rank: 1
等 级:新手上路
帖 子:33
专家分:2
注 册:2013-11-3
收藏
得分:0 
给个指导吧,谢谢
2014-02-01 10:25
快速回复:链表合并问题
数据加载中...
 
   



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

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