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)先将数组中的奇数和偶数分开(利用两个指针遍历一遍即可,同时统计好数 ...
随机推荐
- JavaScript数组方法--pop、shift、unshift
其实还有一个方法push,应该放在一起说的,问题是他跟concat跑了,那只剩下这哥仨了. pop:pop()方法从数组中删除最后一个元素,并返回该元素的值.此方法更改数组的长度.捎带一下push,p ...
- Python全栈开发记录_第八篇(模块收尾工作 json & pickle & shelve & xml)
由于上一篇篇幅较大,留下的这一点内容就想在这里说一下,顺便有个小练习给大家一起玩玩,首先来学习json 和 pickle. 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不过, ...
- 20165205 《网络对抗技术》 Exp0 Kali安装
20165205 <网络对抗技术> Exp0 Kali安装 一.下载及安装 打开官方下载网站 我下载的是vm版,64位,如下图 之后继续点击 之后就可以等待下载成功了,成功之后找到.vmx ...
- Opencv与Qt (一)之运行测试读取图片
刚刚在vs上装好了QT和Opencv,试一下效果把. 我简单的创建了一个label,然后使用Opencv导入图像,因为Opencv导入图像是MAT格式的,在使用Qt的时候我们要把导入的图像转换成Qim ...
- python3下GUI界面设计之控件精确定位
#codeing:utf-8import tkinterimport tkinter.messageboxfrom tkinter import filedialogfrom tkinter impo ...
- 201772020113李清华《面向对象程序设计(java)》第十周学习总结
1.实验目的与要求 (1) 理解泛型概念: (2) 掌握泛型类的定义与使用: (3) 掌握泛型方法的声明与使用: (4) 掌握泛型接口的定义与实现: (5)了解泛型程序设计,理解其用途. 2.实验内容 ...
- Caused by: java.lang.IllegalArgumentException: argument type mismatch
下面是我的报错信息 at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java: ...
- Spark-shell错误:Missing Python executable 'python', defaulting to ...
最近博主因为学习<云计算导论>一课,需要在Windows上搭建Saprk,故在网上找了相关教程搭建,步骤如下: 1. Scala 2.Spark 3.Handoop 但是不管博主怎么修正, ...
- 同机器与不同机器redis集群
此文为另外一位大神原创由于没有找到分享功能 粘贴复制到此 原地址为https://blog.csdn.net/u012042021/article/details/72818759 一.同机器下的 ...
- 初学python---排序
1.永久性排序 sort() a = [12,45,1,25,3] a.sort() print(a) ----[1, 3, 12, 25, 45] 2.临时排序 sorted() a = [12, ...