这里用的是冒泡排序

#include<stdio.h>
#include<stdlib.h>
#define MAX 100 typedef struct Book{
double no;
char name[MAX];
double price;
struct Book * next;
}Book,*BList; void CreatList(BList &B)
{
B = (BList)malloc(sizeof(Book));
B->next = NULL;
BList rear = B;
while()
{
BList p = (BList)malloc(sizeof(Book));
scanf("%lf",&p->no);
scanf("%s",p->name);
scanf("%lf",&p->price);
if(p->no==&&p->name[]==''&&p->price==) break;
rear->next = p;
p->next = NULL;
rear = p; }
} void traverse(BList B)
{
BList p = B->next;
while(p)
{
printf("%.0f ",p->no);
printf("%s ",p->name);
printf("%.2f",p->price);
printf("\n");
p = p->next;
}
}
int getLen(BList B)
{
int i=;
BList p = B->next;
while(p)
{
p = p->next;
i++;
}
return i; }
//冒泡排序
void SortList(BList &B)
{
BList p,pre,q,last;
double t;
for(int i=;i<getLen(B)-;i++)
{
p = B;
for(int j=;j<getLen(B)-i-;j++)
{
pre = p;
q = p->next;
if(q->price < q->next->price)
{
last = q->next;
pre->next = last;
q->next = last->next;
last->next = q;
}
p = p->next;
}
} } int main()
{
BList B;
CreatList(B);
SortList(B);
traverse(B);
return ;
}

BJFU-215-基于链式存储结构的图书信息表的排序的更多相关文章

  1. BJFU—214基于链式存储结构的图书信息表的创建和输出

    #include<stdio.h>#include<stdlib.h>#define MAX 100 typedef struct bNode{ double no; char ...

  2. BJFU-216-基于链式存储结构的图书信息表的修改

    #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct Book{ double no; cha ...

  3. BJFU-217-基于链式存储结构的图书信息表的逆序存储

    这道题可以用头插法创建列表,然后正常输出: #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struc ...

  4. BJFU-218-基于链式存储结构的图书信息表的最贵图书的查找

    如果编译不通过,可以将C该为C++ #include<stdio.h> #include<stdlib.h> #define MAX 100 //创建节点 typedef st ...

  5. BJFU——205基于顺序存储结构的图书信息表的排序

    #include<stdio.h> #include<stdlib.h> #define MAX 1000 typedef struct{ double no; char na ...

  6. javascript实现数据结构:线性表--线性链表(链式存储结构)

    上一节中, 线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中任一元素,它的存储位置可用一个简单,直观的公式来表示.然后,另一方面来看,这个特点也造成这种存储 ...

  7. [置顶] ※数据结构※→☆线性表结构(queue)☆============优先队列 链式存储结构(queue priority list)(十二)

    优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先删除.优先队列具有 ...

  8. C++编程练习(6)----“实现简单的队列的链式存储结构“

    队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出.简称链队列. 实现代码如下: /* LinkQueue.h 头文件 */ #include<iostream> #defi ...

  9. C++编程练习(4)----“实现简单的栈的链式存储结构“

    如果栈的使用过程中元素数目变化不可预测,有时很小,有时很大,则最好使用链栈:反之,如果它的变化在可控范围内,使用顺序栈会好一些. 简单的栈的链式存储结构代码如下: /*LinkStack.h*/ #i ...

随机推荐

  1. 退役III次后做题记录(扯淡)

    退役III次后做题记录(扯淡) CF607E Cross Sum 计算几何屎题 直接二分一下,算出每条线的位置然后算 注意相对位置这个不能先搞出坐标,直接算角度就行了,不然会卡精度/px flag:计 ...

  2. 因子分解机 FM

    特征组合 人工方式的特征工程,通常有两个问题: 特征爆炸 大量重要的特征组合都隐藏在数据中,无法被专家识别和设计 针对上述两个问题,广度模型和深度模型提供了不同的解决思路. 广度模型包括FM/FFM等 ...

  3. Xilinx ISE中使用Synplify综合报错的原因之二

    今天发现,不同的器件型号下由IP core生成的模块有时不通用,在实现(implementation)时会出现translate错误.

  4. nagios监控的安装

    本文中,物理机IP 192.168.1.105虚拟linux主机ip 192.168.1.10安装apache和phpApache 和Php 不是安装nagios 所必须的,但是nagios提供了we ...

  5. ZooKeeper相关资料集锦

    1.ZooKeeper相关概念总结 https://github.com/Snailclimb/JavaGuide/blob/master/docs/system-design/framework/Z ...

  6. 【推荐】安卓模板项目AndroidProject

    [推荐]安卓模板项目AndroidProject https://github.com/getActivity/AndroidProject 安卓架构 博客地址:但愿人长久,搬砖不再有 当我们日复一日 ...

  7. Twitter雪花算法SnowFlake算法的java实现

    https://juejin.im/post/5c75132f51882562276c5065 package javaDemo; /** * twitter的snowflake算法 -- java实 ...

  8. ELK集群安装配置X-Pack

    目前使用的版本不是最新的-6.2.4,6.3以后的版本应该就是集成的了 官方资料: 在线安装步骤:https://www.elastic.co/cn/downloads/x-pack 离线安装步骤:h ...

  9. C语言 按位异或实现加法

    /* C语言 按位异或实现加法 */ #include <stdio.h> #include <stdlib.h> #include <string.h> void ...

  10. springMVC返回json数据乱码问

    在springMVC controller中返回json数据出现乱码问题,因为没有进行编码,只需要简单的注解就可以了 在@RequestMapping()中加入produces="text/ ...