链表插入(线性表)
2014-03-25 20:23
267 查看
Time Limit: 1 Sec Memory Limit: 128
MB
Submit: 173 Solved: 67[Submit][Status][Web
Board]
Description
(线性表)已知一单向链表,从第二个结点至表尾递增有序,(设a1<x<an)如下图(“第二个结点至表尾”指a1..an )。试编写程序,将第一个结点删除并插入表中适当位置,使整个链表递增有序。
Input
输入长度n:7输入数据:4 1 2 3 6 8 9
Output
1 2 3 4 6 8 9
Sample Input
511 7 8 9 10
Sample Output
7 8 9 10 11#include<iostream> using namespace std; struct mm { int a; mm *p; }; int main() { int n,s; mm *head,*k,b,*h; cin>>n>>b.a; b.p=NULL; s=n; n--; if(n==0) {cout<<b.a<<' '; return 0; } head=new mm; k=head; while(n--) { cin>>k->a; k->p=new mm; k=k->p; k->p=NULL; } delete k; h=k=head;n=s; if(b.a<head->a) {b.p=head; head=&b;} else { for(;s>0;s--) { if(b.a<k->a) {b.p=k; h->p=&b; break; } if(s==2&&k->a<b.a) {k->p=&b; break;} h=k; k=k->p; } } k=head; while(n--) { cout<<k->a<<' '; k=k->p;} return 0;}
心得:偷了点懒,嘎嘎,链表还是比较麻烦。
相关文章推荐
- 线性表之<链表linklist>的储存及插入、删除-C代码实现
- 线性链表的实现插入和删除
- 线性单链表 初始化 插入 取出 头插法 合并升序排列
- 链表插入(线性表)
- 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数将其返回。 ⑤ 建立两个
- 链表插入(线性表)
- 线性表的链式存储格式基本操作:创建链表、插入、删除、查找、求表长、打印链表
- 线性表之单向链表的创建、插入、删除和清除
- 很简单的数据结构:链表线性存储的创建、取数据、数据添加、数据插入、数据删除
- 试编写在无头结点的单链表上实现线性表的插入操作的算法,并和带头结点的单链表上的插入操作的算法进行比较
- 对线性表理解以及C语言实现链表的插入删除等操作。
- 链表插入(线性表)
- 线性链表的查找插入删除算法
- 线性链表 查找 插入 删除 创建 merge
- (2)单链表的操作 ① 输入一组整型元素序列,使用尾插法建立一个带有头结点的单链表。 ② 实现该线性表的遍历。 ③ 在该单链表的第i个元素前插入一个整数。 ④ 删除该单链表中的第i个元素,其值通过参数
- 线性表——创建、插入、删除、查找
- 师--链表的结点插入
- 线性表(二)——单链表(4)——单链表的递增判断
- C++ 数据结构与算法(三)线性表之双向链表
- [SDUT](2053)数据结构实验之链表九:双向链表 ---双向链表(线性表)