解题思路:

注意事项:

参考代码:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

 

typedef struct student

{

    int num;

    int grade;

    struct student *next;

}node;

 

node *creatnode(int number);

//void sortnode(node *shape);

void sortNode(node *head);

 

int main()

{

    int n,m;

    scanf("%d %d",&n,&m);

    node *firstlist=creatnode(n);

    node *secondlist=creatnode(m);

    for(node *add=firstlist;add!=NULL;add=add->next)

    {

        if(add->next==NULL)

        {

            add->next=secondlist->next;

            break;

        }

    }

    sortNode(firstlist);

    for(node *add1=firstlist->next;add1!=NULL;add1=add1->next)

    {

        printf("%d %d\n",add1->num,add1->grade);

    }

    return 0;

}

 

node *creatnode(int number)

{

    node *head,*normal,*temp;

    head=(node *)malloc(sizeof(node));

    if(head==NULL)

    {

        exit(0);

    }

    head->next=NULL;

    temp=head;

    for(int i=0;i<number;i++)

    {

        normal=(node *)malloc(sizeof(node));

        if(normal==NULL)

        {

            exit(0);

        }

        scanf("%d %d",&normal->num,&normal->grade);

        temp->next=normal;

        temp=normal;

    }

    temp->next=NULL;

    return head;

}

 

/*void sortnode(node *shape)

{

    node *he=shape;

    node *init=shape;

    init->num=-1;

    while(he!=NULL)

    {

        for(init=shape;init!=he;init=init->next)

        {

            if(init->num>he->num)

            {

                node *temp1;

                temp1->num=he->num;

                temp1->grade=he->grade;

                temp1->next=NULL;

                he->num=init->num;

                he->grade=init->grade;

                init->num=temp1->num;

                init->grade=temp1->grade;

                continue;

            }

        }

        he=he->next;

    }

}*/

 

void sortNode(node *head) {

    node *he = head->next;

    while (he != NULL) {

        node *init = he->next;

        while (init != NULL) {

            if (he->num > init->num) {

                int tempNum = he->num;

                int tempGrade = he->grade;

                he->num = init->num;

                he->grade = init->grade;

                init->num = tempNum;

                init->grade = tempGrade;

            }

            init = init->next;

        }

        he = he->next;

    }

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论