单链表的存储结构:

typedef struct LinkList{int data;LinkList * next;}

分析:
这里和顺序表那题题意是一样的,都是插入一个元素节点x后,使链表仍然有序。
那这两者有啥区别吗?

存储结构不一样。

顺序表是顺序存储结构,单链表是链表存储结构。

二者区别:
1.顺序表是先找到插入位置,然后将后面元素全体后移,让它插入。
2.而这里单链表,通过判断数据域,找到该位置,不需要移动大量元素,直接插入即可,比顺序表更方便。

思路:
1.已知一个数据域,那么把它的整个结点生成完整。并定义两个指针pre,p
2.通过while循环,判断p->data < x.,如果没找到,两个指针同步后移。
3.找到了,则将生成的结点插入即可。

C代码实现:

void  inorderList(LinkList *&L,int x){LinkList *pre = L,*P = pre->next,*s;s = (LinkList *)malloc(sizeof(LinkList));s->data = x;  s->next = null;while(p!=null && p->data < x){pre = p;p=p->next;}s->next = pre->next;  //插入节点pre->next = s;}

单链表-插入一个元素为x的节点后,使链表仍然有序相关推荐

  1. 顺序表-插入一个元素x后保持该顺序表L递增有序排序(查找+元素后移插入)

    顺序表的存储结构: typedef struct{int data[Maxsize]; //存在顺序表中的元素int length; //存放顺序表的长度}SqList; 分析: 要保持插入一个元素后 ...

  2. 数据结构例16.试设计一个算法, 使得在一个有序的单链表中插入一个元素后仍然有序。

    /* 16.试设计一个算法, 使得在一个有序的单链表中插入一个元素后仍然有序. */ # include <iostream> # include <stdlib.h> # i ...

  3. 单向链表—在单向链表的头部插入一个元素

    在单向链表的头部插入一个元素 博主微信公众号(左).Python+智能大数据+AI学习交流群(右):欢迎关注和加群,大家一起学习交流,共同进步! 一.题目 在单向链表 L 头部插入一个元素. 注意,要 ...

  4. 单向链表—在单向链表的尾部插入一个元素

    在单向链表的尾部插入一个元素 博主微信公众号(左).Python+智能大数据+AI学习交流群(右):欢迎关注和加群,大家一起学习交流,共同进步! 一.题目 在单向链表 L 尾部插入一个元素. 注意,在 ...

  5. C语言在一个有序数组里插入一个元素,使其成为一个新的有序数组

    C语言在一个有序数组里插入一个元素,使其成为一个新的有序数组 #include<stdio.h> int main(){int a[11] = { 1,5,8,9,25,26,31,35, ...

  6. [jstips]向数组中插入一个元素

    向现有数组中插入一个元素是经常会见到的一个需求.你可以: 使用push将元素插入到数组的尾部: 使用unshift将元素插入到数组的头部: 使用splice将元素插入到数组的中间: 上面那些方法都是常 ...

  7. go 已知有个排序(升序)的数组,要求插入一个元素,最后打印该数组,顺序依然是升序

    // 任意位置插入数字类型的元素 // @param slice []int 将指定元素插入的切片 // @param num int 插入的指定元素 // @param index int 插入的指 ...

  8. C# 数组增加元素_C语言数组——任意位置插入一个元素

    前言 接着昨天的话题,我们再来看看向C语言的数组中随机插入一个元素的方法. 如果是在python向列表中随机添加元素,我们往往使用insert()的方法. l insert()的第一个参数是位置,第二 ...

  9. Golang数组练习题:已知有一个排序好的升序数组,要求插入一个元素,最后打印该数组,顺序依然是升序

    已知有一个排序好的升序数组,要求插入一个元素,最后打印该数组,顺序依然是升序 package mainimport ("fmt" )func main() {/*已知有一个排序好的 ...

最新文章

  1. Github项目解析(九)--实现Activity跳转动画的五种方式
  2. 导出真实表格显示列数不能超过256_平均月薪真有6万5?说说我所知道的金融人真实薪酬...
  3. [POJ 1742] Coins 【DP】
  4. Vue-Router中History模式【华为云分享】
  5. neo4j安装与示例
  6. 云计算的2.0进化体现?区块链分化处理能力掀全球去中心化热潮
  7. java 查找文件_Java 实例 – 在指定目录中查找文件
  8. opencv_3.4.2_vc14_vc15.exe下载
  9. Hamcrest Tutorial
  10. STM32嵌入式基础开发07-使用PS2手柄遥控麦克纳姆轮小车(7_PS2_Veh)
  11. 【备忘】LAMP兄弟连李明老师讲Linux[更新完毕-共享完毕]
  12. 汽车之家网站为例-爬虫的编写,爬取图片
  13. poj 1945 Power Hungry Cows 启发式搜索
  14. 为什么Julia如此受欢迎?
  15. 简单并不粗暴:自学产品的8个方法
  16. C语言入门教程|| C语言 程序结构|| C语言 基本语法
  17. C语言中abs和fabs的区别
  18. [嵌入式]嵌入式系统概述
  19. 【jquery Ajax 练习】图书管理
  20. 2016年互联网面试总结

热门文章

  1. minheight能继承吗_借父母名买房到底归谁?其他兄妹能继承吗?
  2. Oracle二三事之 12c 可插拔数据库PDB
  3. 格灵深瞳CTO邓亚峰:AI学习的三种路线
  4. Ubuntu 搭建 Zerotier One MOON 根目录服务器
  5. 数据管理DMS企业版接入蚂蚁金融云售卖
  6. 十折交叉验证10-fold cross validation, 数据集划分 训练集 验证集 测试集
  7. Java:OpenOffice方式实现Word转pdf/html/htm
  8. Android Studio内存优化
  9. java包(翻译自Java Tutorials)
  10. 现实世界的 Windows Azure:HRG将应用程序扩展到移动设备,削减80 %的启动成本