BJFU-215-基于链式存储结构的图书信息表的排序
这里用的是冒泡排序
#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-基于链式存储结构的图书信息表的排序的更多相关文章
- BJFU—214基于链式存储结构的图书信息表的创建和输出
#include<stdio.h>#include<stdlib.h>#define MAX 100 typedef struct bNode{ double no; char ...
- BJFU-216-基于链式存储结构的图书信息表的修改
#include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struct Book{ double no; cha ...
- BJFU-217-基于链式存储结构的图书信息表的逆序存储
这道题可以用头插法创建列表,然后正常输出: #include<stdio.h> #include<stdlib.h> #define MAX 100 typedef struc ...
- BJFU-218-基于链式存储结构的图书信息表的最贵图书的查找
如果编译不通过,可以将C该为C++ #include<stdio.h> #include<stdlib.h> #define MAX 100 //创建节点 typedef st ...
- BJFU——205基于顺序存储结构的图书信息表的排序
#include<stdio.h> #include<stdlib.h> #define MAX 1000 typedef struct{ double no; char na ...
- javascript实现数据结构:线性表--线性链表(链式存储结构)
上一节中, 线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中任一元素,它的存储位置可用一个简单,直观的公式来表示.然后,另一方面来看,这个特点也造成这种存储 ...
- [置顶] ※数据结构※→☆线性表结构(queue)☆============优先队列 链式存储结构(queue priority list)(十二)
优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先删除.优先队列具有 ...
- C++编程练习(6)----“实现简单的队列的链式存储结构“
队列的链式存储结构,其实就是线性表的单链表,只不过它只能尾进头出.简称链队列. 实现代码如下: /* LinkQueue.h 头文件 */ #include<iostream> #defi ...
- C++编程练习(4)----“实现简单的栈的链式存储结构“
如果栈的使用过程中元素数目变化不可预测,有时很小,有时很大,则最好使用链栈:反之,如果它的变化在可控范围内,使用顺序栈会好一些. 简单的栈的链式存储结构代码如下: /*LinkStack.h*/ #i ...
随机推荐
- Openwrt build env setup(9)
reference : https://openwrt.org/docs/guide-developer/quickstart-build-images Install dependence pack ...
- cpu的发现
system.cpu.discovery 检测到的CPU/CPU内核列表.用于低级发现 返回的cpu从0开始编号,其他关于cpu的监控项就可以使用cpu的id进行单个cpu的资源监控
- 面试官问我:平常如何对你的 Java 程序进行调优?
阅读本文大概需要 10 分钟. 作者:张俊城, 郭理勇, 刘建来源:http://t.cn/AiCTERJz Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢.接口超时,服务器负 ...
- 【技术博客】 利用Postman和Jmeter进行接口性能测试
利用Postman和Jmeter进行接口性能测试 作者:ZBW 版本:v1.1 在Phylab的开发过程中,对于生成报告接口的性能考量十分重要.原有的Latex接口虽然生成的报告美观,但编译Latex ...
- ffmpeg fails with error "max delay reached. need to consume packet"
rtsp服务默认使用udp协议,容易丢包,报这个错误.改为tcp,则解决. ffmpeg-设置rtsp推流/拉流使用的协议类型(TCP/UDP)(转) 拉流(设置TCP/UDP) //设置参数 AVD ...
- Inno setup 判断系统32位还是64位
[Files] ; Install MyProg-x64.exe -bit mode (x64; see above), ; Check: Is64BitInstallMode 表示是64位windo ...
- Re3 : Real-Time Recurrent Regression Networks for Visual Tracking of Generic Objects
Re3 : Real-Time Recurrent Regression Networks for Visual Tracking of Generic Objects 2019-10-04 14:4 ...
- 通过 UNSAFE 来实现一个 Atomic 的 CAS 辅助类【原创】
public abstract class AbstractUnSafeCas<T> { @SuppressWarnings("unused") private vol ...
- 用openssl 生成证书的过程
1. 安装 openssl 后可以执行如下命令来生成私钥和对应的证书请求文件 ca openssl req -new -keyout private.key -out for_request.csr ...
- 检查 chrome 插件是否存在
你必须了解 chrome 插件开发才能阅读以下内容. 传送门: https://qa.1r1g.com/sf/ask/440544891/ 原理:页面 js 向 chrome 插件的 backgrou ...