黑白判官


私信TA

用户名:uq_71646286210

访问量:292

签 名:

等  级
排  名 7157
经  验 1340
参赛次数 0
文章发表 9
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

这只是给我自己一个备忘录

参考代码:

#include<stdio.h>
#include<malloc.h>
typedef struct student
{
    int num;
    int cor;
    struct student *next;
}node,*linklist;
linklist creat(int n)
{
    node *head;
    head=(node*)malloc(sizeof(node));
    head->next=NULL;
    node *p;
    node *q=head;
    for(int i=0;i<n;i++)
    {
        p=(node*)malloc(sizeof(node));
        scanf("%d %d",&(*p).num,&(*p).cor);
        p->next=q->next;
        q->next=p;
        q=p;
    }
    return head;
}
void pout(linklist L)
{
    L=L->next;
    while(L!=NULL)
    {
        printf("%d %d\n",L->num,L->cor);
        L=L->next;
    }
}
void paixu(linklist head1,linklist head2)
{
    node*q;
    q=head1;
    head2=head2->next;
    while(q->next!=NULL)
    {
        q=q->next;
    }
    q->next=head2;
    q=head1->next;
    node*min;
    int n,m,t;
    node *p;
    while(q!=NULL)
    {
        p=q;
        t=p->num;
        min=p;
        while(p!=NULL)
        {
            if(t>p->num)
            {
                t=p->num;
                min=p;
            }
            p=p->next;
        }
        n=q->num;
        q->num=min->num;
        min->num=n;
        m=q->cor;
        q->cor=min->cor;
        min->cor=m;
        q=q->next;
    }
    pout(head1);
}
int main()
{
    node*head1;
    node*head2;
    int n,m;
    scanf("%d %d",&n,&m);
    head1=creat(n);
    head2=creat(m);
    paixu(head1,head2);
    //pout(head1);
    return 0;
}

 

0.0分

0 人评分

  评论区

  • «
  • »