`
漂流瓶子blog
  • 浏览: 18982 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

输入链表输出有序链表

阅读更多

#include<stdio.h>
#include<stdlib.h>
#include"student.cpp"
#define NULL 0
void sort(struct student* head,struct student *s);
int main(){
    struct student h,*head,*p;
    head = &h;h.next=NULL;
    float i =1;
    while(true){
        printf("请输入学生成绩啦(0表示结束)\n");
        scanf("%f",&i);
        if(i==0) break;
        struct student * s = (struct student*)malloc(sizeof(struct student));
        s->score = i;
        sort(head,s);
    }
    p= head->next;
    do{   
        printf("%5.1f\n",p->score);
        p=p->next;
    }while(p!= NULL);   
    return NULL;
}

void sort(struct student* head,struct student *s){
    struct student  *p,*temp;
    temp=head;
    for(p=head;p!=NULL;p=p->next)
        if(p->score > s->score)
            temp=p;   
    s->next = temp->next;
    temp->next=s;
}

#include<stdio.h>
struct student{
    long    num ;
    float    score;
    struct student *next;
};

分享到:
评论

相关推荐

    归并有序链表

    通过理解这些基本原理和步骤,我们可以编写出合并有序链表的代码,实现输入数据“12cde”和“stuvwx”到输出“xwvutsedc21”的转换。在处理这种问题时,链表的高效特性和归并排序的思想结合在一起,提供了有效且灵活...

    两个有序链表的合并

    将两个有序的链表合并成一个链表,合并后的链表仍然是有序的,依次输出合并后的链表的元素值,并求出第奇数位置元素之和

    链表的插入和排序 实验报告

    本次实验旨在通过实践操作,深入理解链表这一基本数据结构,并掌握如何在非递减有序链表中插入一个新元素,保持链表的有序性。通过实验,学生能够熟悉链表的基本操作,如创建、插入等,并能够运用C语言实现这些功能...

    两个有序链表的合并代码

    ### 两个有序链表的合并代码解析 #### 核心概念与知识点 本文将深入解析一个C语言程序,该程序的主要功能是实现两个有序链表的合并。在讲解之前,我们首先来了解一下链表的基本概念及其操作。 **链表**是一种常见...

    将两个递增的链表合并为一个非递减的链表

    本题目要求实现的功能是:输入两个递增的链表,然后通过程序对这两个链表进行排序(虽然在实际应用中,递增的链表已经有序,这里排序步骤是为了确保链表有序),接着按照递增顺序合并这两个链表,最终输出合并后的...

    数据结构实验——链表

    2. 合并两个链表为一个有序链表,`MergeList`函数可以实现这个功能,保持升序排列,并显示合并后的链表。 五)单循环链表 1. 创建两个带头结点的循环单链表LA和LB,循环链表的特点是最后一个节点的指针指向第一个...

    数据结构之链表的实现

    一、实验目的 1、掌握线性表的基本操作:插入、删除、查找。 2、掌握链表遍历器的使用方法。 二、实验内容 1、创建线性表类。线性表的存储结构使用链表。...6、创建两个有序链表,使用链表遍历器实现链表的合并。

    实现对两个线形链表的合并,并输出其结果

    在C++编程中,线性链表是一种常用的数据结构,用于存储一系列有序的元素。本话题将探讨如何实现对两个线性链表的合并,并输出其结果。这涉及到链表的基本操作,包括链表节点的创建、插入以及遍历。 首先,让我们...

    链表的基本操作:插入、删除、查找。c++语言实现

    1、 创建线性表类。线性表的存储结构使用链表。 2、 提供操作:自表首插入元素、删除指定元素、搜索表中是否有指定元素、输出链表。 3、 接收键盘录入的一系列...6、 创建两个有序链表,使用链表遍历器实现链表的合并。

    复旦大学C语言程序设计解答——链表部分3

    //第8题:复制链表。输入:一个无序正整数链表(输入为0表示终止)。 //输出:三行,每行一个链表,分别满足...复制原始链表比较简单,复制逆序链表和有序链表,必须是对链表的节点进行移动,不能只是修改节点上的值。

    有序链表按逆序合并的实现

    根据提供的文件内容,我们将详细讲解有序链表按逆序合并的实现方法。由于文件内容包含代码片段和一些描述性的文本,我们将从中提取相关知识点。 知识点一:链表的基本概念 链表是一种常见的数据结构,它由一系列...

    数据结构-单链表的操作

    复制链表意味着创建一个新的链表,其中包含原始链表的所有元素。这需要创建新节点并保持旧节点和新节点间的对应关系。 以上是对单链表操作的详细解释,理解和熟练掌握这些操作对于学习更复杂的数据结构和算法至关...

    将两个链表的合并实验报告

    合并两个有序链表的关键在于比较两个链表当前节点的值,将较小值的节点添加到新链表中。当其中一个链表遍历完后,将另一个链表剩余的部分连接到新链表的末尾。最后,将两个链表的末尾指向头结点,形成循环链表。...

    链表的基本操作插入查询删除

    建立插入函数,用于在链表中有序地插入输入的一个元素 建立删除函数,用于在链表中删除指定的元素 建立主函数,在主函数中写一个菜单,根据用户选择不同的功能,调用不同的 函数,从而实现不同的功能

    基于C的简单链表合并2排序程序

    由于我们合并的时候已经保证了b链表中的学号小于a链表中的学号,所以合并后的链表已经是部分有序的。但为了完全按照学号升序排列,我们需要对整个链表进行一次排序。可以使用插入排序算法,遍历链表,将每个节点视...

    数据结构设计——库存管理

    9. PrintList:遍历链表,按序号输出所有节点信息。 10. DataResume:数据恢复,用于从文件恢复链表。 11. ProductList析构函数:释放链表资源。 12. JudgeCode:管理员登录验证,通过输入姓名和密码进行身份确认。 ...

    链表的操作(数据结构课程设计)

    ⑶ 有序单循环链表输出,分别输出合并前的A、B,合并的结果C; ⑷ 有序单循环链表的反向输出,分别反向输出合并前的A、B,合并的结果C; ⑸ 设计一个菜单,上述操作要求都作为菜单中的主要菜单项。

    用链表实现多项式相乘以及相加

    该函数首先申请一个链表结点的内存,,然后根据用户输入的基数和指数创建链表,并将链表的最后一个结点的指针置为NULL。 输出多项式函数OutputPloyn的作用是将链表中的每个结点的基数和指数输出到控制台上。该函数...

    复旦大学C语言程序设计解答——链表部分2

    输入:两个链表,每个链表均为若干个有序正整数(单个链表中无重复数字), 以0表示一个链表终止,第一个链表为S1,第二个链表为S2。 输出:分三行,分别输出两个集合的并集、差集(S1-S2)和交集。因 为要连续输出三个...

    链表应用练习

    该函数首先初始化链表头节点`L`,然后根据输入的学生数量`n`,循环创建新节点,并通过比较成绩大小来决定插入位置,从而保持链表的有序性。这一步骤是链表操作中的基础,涉及到内存分配、数据输入以及链表节点的链接...

Global site tag (gtag.js) - Google Analytics