描述

某百货公司仓库中有一批电视机,按其价格严格从低到高的次序,以链表(链表含头结点)的形式存储于计算机中,链表的每个结点表示同样价格的电视机台数。现在又有m台价格为x元的电视机准备入库,请将其加入到链表中(保证价格仍然严格从低到高)完成入库操作。

链表结点(Node类型)包含三个域,分别为价格、数量和指针域:

cost num next

题目部分代码已经完成,您只需要补充并提交以下函数:

void Add(Node* head, int m, int x);//其中head为链表头指针,m和x见题意

输入

输入数据的第一行为原始链表中结点的数目n。

接下来有n行,每行为2个正整数mi和xi,表示链表中各个结点的电视机台数和价格,其中x1<x2<x3<...<xn

下一行有两个正整数m和x,表示待入库的电视机台数和价格。

输出

输出插入完成后,从头到尾遍历链表并输出电视的台数和价格,每行一个结点。

样例输入

3
1 1000
3 2000
2 3000
10 2100

样例输出

1 1000
3 2000
10 2100
2 3000

PS:附赠调试代码,/**/符号自行删除哦#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*
typedef struct Node
{int cost,num;struct Node *next;
}Node;
Node *CreateLinkList(int n)  //头结点数据域为空
{int i;Node *pre,*q,*head;head = (Node*)malloc(sizeof(Node));pre = head;pre->next = NULL;for(i=0; i<n; i++){q = (Node*)malloc(sizeof(Node));scanf("%d %d",&q->num,&q->cost);pre->next = q;pre = q;q->next = NULL;}return head;
}
*/void Add(Node* head, int m, int x)
{Node *pre,*p,*q;pre = head->next;if(pre->cost > x) //要插在头结点后面,即第一个节点
    {q = (Node*)malloc(sizeof(Node));q->num = m;q->cost = x;q->next = pre;head->next =q;return;}while(pre->next && pre->cost<x) //寻找x的位置,等于在原位置
    {if(pre->next->cost>x) break; // x 比下一个值要小,结束pre = pre->next;} //假如运行到尾结点,即最后节点停止if(pre->cost == x)  //两个值相等,就相加pre->num = pre->num + m;else{q = (Node*)malloc(sizeof(Node));q->num = m;q->cost = x;q->next = pre->next;pre->next = q;}}
/*
void PrintLinkList(Node *head){Node *p = head->next, *q;while(p){printf("%d %d\n", p->num,p->cost);q = p;p = p->next;free(q);}free(head);
}
int main()
{int n,m,x;scanf("%d",&n);Node* head = CreateLinkList(n);scanf("%d %d",&m,&x);Add(head, m, x);PrintLinkList(head);return 0;
}
*/

转载于:https://www.cnblogs.com/lenka-lyw/p/10891263.html

TZOJ 5640: 数据结构实验:仓库管理相关推荐

  1. TZOJ 5471: 数据结构实验--图的最小代价生成树

    题目描述 求带权无向图的最小代价生成树. 输入 输入数据为多组,每组数据包含多行,第一行为2个整数n,e,n为图的顶点数,e为边数,接下来是e行,每行3个整数,前两个整数是一个顶点对,代表一条边所依附 ...

  2. 数据结构实验之链表五:单链表的拆分-sdut

    数据结构实验之链表五:单链表的拆分 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 输入N个 ...

  3. SDUT OJ 数据结构实验之排序一:一趟快排

    数据结构实验之排序一:一趟快排 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...

  4. SDUT-2449_数据结构实验之栈与队列十:走迷宫

    数据结构实验之栈与队列十:走迷宫 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 一个由n * m 个格子组成的迷宫,起 ...

  5. sdut 2137 数据结构实验之求二叉树后序遍历和层次遍历

    数据结构实验之求二叉树后序遍历和层次遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descr ...

  6. sdut 3341数据结构实验之二叉树二:遍历二叉树

    数据结构实验之二叉树二:遍历二叉树 Time Limit: 1000MS Memory Limit: 65536K Problem Description 已知二叉树的一个按先序遍历输入的字符序列,如 ...

  7. sdut 2088 数据结构实验之栈与队列十一:refresh的停车场

    数据结构实验之栈与队列十一:refresh的停车场 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...

  8. sdut 2135 数据结构实验之队列一:排队买饭

    数据结构实验之队列一:排队买饭 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descriptio ...

  9. sdut 1479 数据结构实验之栈与队列九:行编辑器

    数据结构实验之栈与队列九:行编辑器 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...

最新文章

  1. HDU 1022[Train Problem I] 栈的应用
  2. 服务器重启后,启动SAP ERP的步骤
  3. reactjs组件的生命周期:创建时和更新时
  4. C语言实现基数排序Radix sort算法之二(附完整源码)
  5. 【uni-app】变量绑定/拼URL
  6. python网页保存为图片_使用Python保存网页上的图片或者保存页面为截图
  7. 【python】-- Django ModelForm
  8. 文件不能超过200k_为什么答题时上传的文件大小不允许
  9. win10系统文件拖拽卡顿_win10系统下移动鼠标卡顿如何解决
  10. [热键冲突]:Win10 输入法表情快捷键(Ctrl+Shift+B)如何关闭
  11. 【LeetCode】算法初涉
  12. 【游戏渲染】【译】Unity3D Shader 新手教程(1/6)
  13. 专访亚创集团CEO田行智:业务规模进入拐点 上市迎来好时机
  14. windbg常用命令
  15. css首行缩进字符间距行高_黑暗代码风格的学院:换行,间距和缩进
  16. 利用阿里大鱼发送短信验证
  17. 于数学极限定义的量词组合复杂度
  18. 网络媒体的力量-《黄金甲》影评
  19. 马云再次成功了!刚刚,阿里巴巴正式宣布再出两大产品!
  20. 软件开发——软技能(一、IDE)

热门文章

  1. lisp如何调用linux头文件,Lisp之 程序的交互执行和非交互执行
  2. python安装sklearn_让机器学习自动帮我们建模,这4个Python库能让你大开眼界!
  3. 科学家奠定了计算机的基础,大学计算机基础考试笔试重点
  4. stm32,arm9和arm11三者的区别
  5. win10怎么激活python_无法在Windows 10中激活Python venv
  6. mysql root账号_修改mysql root账号密码
  7. mac下安装编译ffmepg方法
  8. appium java api文档_Appium常用API
  9. android 指定进程名称,android 根据进程名杀死指定、特定进程
  10. html5图片img,HTML中图片img标签