PTA 7-1 有序链表的插入(20 分)
2017-11-07 21:50
375 查看
已知一个递增有序链表L(带头结点,元素为整数),编写程序将一个新整数插入到L中,并保持L的有序性。 其中单链表的类型定义参考如下:
typedef int elementType;
typedef struct lnode
{ elementType data;
struct lnode *next;
}Lnode,* LinkList;
输入格式:
输入分三行
第一行 元素个数
第二行 元素的值,元素间用空格分隔。
第三行 待插入的元素值
输出格式:
在一行中输出有序链表元素值,每个元素前输出一个空格以便与相邻元素分隔。
输入样例:
5 1 3 5 7 9 4
输出样例:
1 3 4 5 7 9
跳脱正常思路,推荐用C写,能够锻炼思维能力:
这是C++代码:
[/code]
#include<iostream> #include<queue> #include<cstdio> #include<set> #include<vector> using namespace std; struct cmp { bool operator ()(int x, int y) { return x > y;//小的优先级高 } }; int main() { priority_queue <int,vector<int>,cmp> que; int n,t; scanf("%d",&n); while(n--) { scanf("%d",&t); que.push(t); } scanf("%d",&t); que.push(t); while(!que.empty()) { cout<<" "<<que.top(); que.pop(); } }
相关文章推荐
- 从键盘读入n个整数(升序),请编写算法实现: 建立带表头结点的单链表; 显示单链表,(形如:H->10->20->30->40); 在有序单链表中插入新的数据元素x; 将单链表就地逆
- C/C++ | 20-7链表,单链表的建立,把’a'–’z’26个字母插入,倒叙,打印
- PTA数据结构之两个有序链表序列的交集
- 7-1 两个有序链表序列的合并(20 分)
- PTA:两个有序链表的合并解题报告
- 在一个递增有序链表中插入新结点并保持链表递增顺序不变
- 重温数据结构:有序循环链表的插入
- 链表1 ----- 链表的基本创建以及有序插入的思想
- 链表的创建、元素插入、元素删除、以及两个有序链表的归并
- 单链表有序插入
- 【C与指针】有序单链表插入节点
- 单向循环链表的有序插入 对单向循环链表head插入元素 链表保持有序
- 链表(三)——链表删除冗余结点&插入结点到有序链表
- PTA-两个有序链表序列的交集
- 《算法与数据结构》实验课实验三思考题——有序链表插入元素——C语言
- 往有序链表的插入元素使原链表依旧有序
- 7-2 两个有序链表序列的交集(20 分)
- Programming Ability Test学习 2-12. 两个有序链表序列的交集(20)
- 两个有序链表序列的合并(20 分)
- 2-12. 两个有序链表序列的交集(20)