一、【题目描述】:

已知一个顺序表L, 其中的元素递增有序排列,设计一个算法,插入一个元素x (x为int
后保持该顺序表仍然递增有序排列(假设插入操作总能成功)。

二、【题目分析】:

由题干可知,解决本题需完成两个操作:
1)找出可以让顺序表保持有序的插入位置。
2)将步骤1)中找出的位置上以及其后的元素往后移动一个位置,然后将x放至腾出的位置上。

三、【问题解答】

①因为顺序表L中的元素是递增排列的,所以可以从小到大逐个扫描表中元素,当找到第一
个比x大的元素时,将x插在这个元素之前即可。

int findE(Sqlist L,int x){int i;
for(i=0;i<L.length;++i){if(x<L.data[i]){return i;}}return i;
}

②找到插入位置之后,将插入位置及其以后的元素向后移动一个元素的位置即可。先移动最右边的元素。

void insertE(Sqlist &L,int x){int p,i;
p=findE(L,x);
for(i=L.length-1;i>=p;--i)
L.data[i+1]=L.data[i];
L.data[p]=x;
L.length++;
}

顺序表的操作例题——已知一个顺序表L, 其中的元素递增有序排列,设计一个算法,插入一个元素x (x为int 后保持该顺序表仍然递增有序排列(假设插入操作总能成功)。相关推荐

  1. 已知顺序表中元素值递增有序。 用算法实现将元素x查到表中适当的位置上,以保持顺序表的有序性。

    已知顺序表中元素值递增有序.用算法实现将元素x查到表中适当的位置上,以保持顺序表的有序性. 第一种写法: //已知顺序表中元素值递增有序.用算法实现将元素x查到表中适当位置上,以保持顺序表的有序性 # ...

  2. 若在一分页存储管理系统中,某作业的页表如表所示。已知页面大小为 1024字节,试将逻辑地址 1011,2148,3000,4000,5012转化为相应的物理地址。

    题目: 若在一分页存储管理系统中,某作业的页表如表所示.已知页面大小为 1024字节,试将逻辑地址 1011,2148,3000,4000,5012转化为相应的物理地址. 页号 块号 0 2 1 3 ...

  3. 【C语言入门】已知10个学生的5门课程的成绩,将其存入一个二维数组,求每个学生的总成绩和平均成绩。

    题目:已知10个学生的5门课程的成绩,将其存入一个二维数组,求每个学生的总成绩和平均成绩. # include <stdio.h> int main() {int i, j, s = 0, ...

  4. 题目87:在欧几里德几何中,n边形的内角和是(n-2)*180°。已知其中(n-1)个内角的度数,就能计算出剩下的一个未知内角的度数。请编写一个程序,来解决这个问题。

    题目转载:http://python.wzms.com/s/1/30 题目描述: 在欧几里德几何中,n边形的内角和是(n-2)*180°.已知其中(n-1)个内角的度数,就能计算出剩下的一个未知内角的 ...

  5. 已知两点坐标拾取怎么操作_已知的操作员学习-第4部分

    已知两点坐标拾取怎么操作 有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU's ...

  6. 已知两点坐标拾取怎么操作_已知的操作员学习-第3部分

    已知两点坐标拾取怎么操作 有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU's ...

  7. java 从已知日期计算干支纪日_干支纪日-干支纪日是如何计算的如何确定某一天的干支顺序? 爱问知识人...

    干支纪日与公历换算 干支纪日 干支纪日,60日大致合2个月一个周期:一个周期完了重复使用,周而复始,循环下去.确定的文献指出干支纪日始于鲁隐公三年夏历二月己巳日(公元前720年2月10日). 因为儒略 ...

  8. 已知满二叉树先序序列存在于数组中,设计算法将其变成后序序列

    解题思路: 满二叉树:除最后一层无任何子结点外,每一层上的所有结点都有两个以上的结点 先序序列:DLR 后序序列:LRD 先从最简单的满二叉树开始: 1.只有一个结点的满二叉树 2.有三个结点的满二叉 ...

  9. 已知华氏温度f c语言,编程题:已知两种温度的换算公式C=(5/9)(F-32),试编写一个程序输入华氏度F,输出摄氏度。...

    使用python的写法为: val=input("请输入带有温度表示符号的温度值(例如:32c)") if val[-1] in ["C","c&qu ...

最新文章

  1. 【Scala-spark.mlib】稠密矩阵和稀疏矩阵的创建及操作
  2. 《天气一点通》隐私策略
  3. mysql创建只读权限用户_新品速递 | Harbor 修复权限提升漏洞,MySQL Plus 支持密码强度校验以及审计功能...
  4. 人中急救穴 也可通过辨别疾病
  5. struts2 Action 通过Spring管理, 并通过Spring的方式读取配置文件
  6. 电话光端机应用范围解析!电话光端机主要应用在哪些领域?
  7. kafka部分重要参数配置-broker端参数
  8. Linux 服务器停止当前运行的程序,实验,代码
  9. excel批量更改超链接_excel超链接应用:快速生成目录的几个方法-上
  10. Android 中文API (68) —— BluetoothClass.Service
  11. 处理机和处理器的区别
  12. 11.11 开课二个月零七天(ajax和bootstrp做弹窗)
  13. Spring的bean管理(注解注入属性)
  14. 51单片机基础教学(keil)
  15. log日志查看软件logviewer-pro
  16. 汉诺塔 java 递归_如何实现java汉诺塔递归算法
  17. 发掘 iGoogle
  18. 文件操作——getc()和putc()函数
  19. 2019icpc徐州站 H题 Yuuki and a problem(树套树(树状数组套主席树))
  20. ubuntu下用Qt实现人脸识别之检测人脸并绘制人脸框(三)

热门文章

  1. xv6 makefile
  2. 产品设计原则:Fitts’ Law费茨定律
  3. 【论文翻译】2020.8 清华大学AI课题组——大型中文短文本对话数据集(A Large-Scale Chinese Short-Text Conversation Dataset)
  4. 华为mate40e投屏教程
  5. ES-SQL 查询时不区分大小写的解决方案
  6. 5 Post实现django表单
  7. 巴菲特价值投资的六项法则
  8. 计算机应用基础本形考任务作业一,国开电大18秋《计算机应用基础》形考任务作业...
  9. Python知识点总结和例题
  10. java基础-宇宙第一YWM:入门java看书小发现