Js有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
<!DOCTYPE html> <title>Title</title> <script> var arr = [1,2,3,4,11]; var s = prompt("请输入一个数字"); var middle_index = 0; var result =[]; if (i%2 == 0) { middle_index = arr.length/2-1; } else { middle_index = (arr.length+1)/2-1; } var middle_value = arr[middle_index];
if (s>middle_value) { for (var i=middle_index+1;i<arr.length;i++) { if (s>arr[i] && i<arr.length-1) { result.push(arr[i]); } else if (s>arr[i] && i == arr.length-1) { result.push(arr[i]); result.push(s); } else { result.push(s); result.push(arr[i]); } } arr = arr.slice(0,middle_index+1); arr = arr.concat(result); } else if (s == middle_value) { var arr1 = arr.slice(0,middle_index+1); arr1.push(s); arr = arr1.concat(arr.slice(middle_index+1)); } else { for (var i=0;i<middle_index+1;i++) { if (s<arr[i] && i ==0) { result.push(s); result.push(arr[i]); } else if (s<arr[i] && i >0) { result.push(s); result.push(arr[i]); } else { result.push(arr[i]); } } arr = arr.slice(middle_index+1); arr = result.concat(arr); } document.write(arr); </script></head><body>
</body></html>
Js有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。的更多相关文章
- Java例题_30 在已经排好序的数组中插入值
1 /*30 [程序 30 插入数字] 2 题目:有一个已经排好序的数组.现输入一个数,要求按原来的规律将它插入数组中. 3 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插 ...
- vue.js 作一个用户表添加页面----初级
使用vue.js 制作一个用户表添加页面,实际上是把原来需要使用js写的部分,改写成vue.js的格式 首先,想象一下,先做思考,我们要添加用户表,设涉及到哪些数据,一个是用户id,一个是用户名,一个 ...
- 6.5 k个已排好序链表合并为一个排序链表
1 建立链表(带哨兵位的)2 建立最小堆方法3 合并已排好序的k个链表 typedef int DataType; //建立链表 class Link { private: struct Node { ...
- 设子数组A[0:k]和A[k+1:N-1]已排好序(0≤K≤N-1)。试设计一个合并这2个子数组为排好序的数组A[0:N-1]的算法。
设子数组A[0:k]和A[k+1:N-1]已排好序(0≤K≤N-1).试设计一个合并这2个子数组为排好序的数组A[0:N-1]的算法.要求算法在最坏情况下所用的计算时间为O(N),只用到O(1)的辅助 ...
- 假设一个大小为100亿个数据的数组,该数组是从小到大排好序的,现在该数组分成若干段,每个段的数据长度小于20「也就是说:题目并没有说每段数据的size 相同,只是说每个段的 size < 20 而已」
假设一个大小为100亿个数据的数组,该数组是从小到大排好序的,现在该数组分成若干段,每个段的数据长度小于20「也就是说:题目并没有说每段数据的size 相同,只是说每个段的 size < 20 ...
- sq - 压缩一个排过序的单词列表 unsq - 解压一个排过序的单词列表
总览 (SYNOPSIS) sq < infile > outfile unsq < infile > outfile 描述 (DESCRIPTION) sq 压缩 一个 排过 ...
- JS创建一个数组1.求和 2.求平均值 3.最大值 4.最小值 5.数组逆序 6.数组去重 0.退出
rs = require("readline-sync"); let arr = []; console.log("请输入数组的长度:"); let arr_l ...
- SqlServer实现先将所有数据排好序再进行分页
平时,我们对数据进行分页,然后将分页后的数据再进行排序输出.这样做只是针对每次请求,也就是前TOP个数据进行了排序,并不是将数据库中的所有的数据进行了排序.当我们需要将数据库中的所有数据排序后在进行分 ...
- 将一个数组分成奇数部分和偶数部分,并分别排好序 CVTE
给定一个数组,将奇数放到前面,偶数放到后面,各自排好序 (2016年3月12日晚上,CVTE笔试编程第一道题): 思路很简单: (1)先将数组中的奇数和偶数分开(利用两个指针遍历一遍即可,同时统计好数 ...
随机推荐
- Ubuntu忘记超级用户root密码,重新设置密码
Ubuntu版本:Ubuntu 16.04.3 LTS 1启动系统,在启动过程中,反复按Esc键或者shift键(本人亲测反复按或者长按都可以,没必要纠结),直到出现以下界面: 通过上下键移动,选择U ...
- 执行计划:SET AUTOTRACE TRACEONLY
SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显 ...
- 文件服务之二:ftp协议
FTP连接 命令连接 传输命令(客户端发给服务端的命令),服务端的21/tcp 数据连接 传输数据(传输数据时建立,数据传输完拆除) 数据链接的建立方法:主动.被动 主动模式(PORTstyle服务器 ...
- JAVA学习记录(二)————JAVA中的IO
Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列. 数据流是一串连续不断的数据的集合,就象水 ...
- FPGA笔试必会知识点2—FPGA器件
FPGA 综合工具并不一定保证能够充分利用芯片结构特点以达到最优目的而且工具本身也不一定非常智能,因为设计本身是复杂多样的且一直在变化,问题总会越来越多,因此在这种情况下,我们必须了解我们的器件结构, ...
- 深入理解Java虚拟机读书笔记5----虚拟机字节码执行引擎
五 虚拟机字节码执行引擎 1 运行时栈帧结构 ---栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,是虚拟机运行时数据区中的虚拟机栈的栈元素. ---栈帧中存储了方法的局部变 ...
- ORM版学员管理系统 2
学生信息管理 展示学生信息 URL部分 url(r'^student_list/', app01_views.student_list, name="student_list"), ...
- websocket的子协议stomp协议
stomp协议Spring实现 服务器注册EndPoint 用来与客户端建立websocket连接 websocket连接的建立应该与客户端与服务器之间的通道无关 jdk中 javax下的websoc ...
- Vue note 2
1.异步加载组件 一般单页面的缺点是首屏加载比较慢,因为首屏会把所有所需静态资源全部加载,对于中大型项目来说这样可能不是很合理.初步采用异步组件的方式,配合webpack,组件内部可以采用: comp ...
- angualrjs添加ngTouch
angularjs没有touch时间需要添加directive 插件代码如下 "use strict"; angular.module("ngTouch", [ ...