js有序数组中插入一个元素,并有序的输出
题目:比较传入函数的参数,将参数组成数组,从小到大排序,返回新的数组。
如:
insert();console.log(arr); //[] insert(-1,-2); console.log(arr);//[-2,-1] insert(3);console.log(arr);//[-2,-1,3] insert(6,4,5);console.log(arr); //[-2,-1,3,4,5,6]
代码实现:
var arr = [];
var index = 0;
function insert() {
for(let k = 0; k < arguments.length; k ++) {
console.log(arguments.length);
let num = arguments[k];
//数组本来是有序的,如果i项的值大于传入的参数,在i项的位置插入,
for (var i = 0; i < arr.length; i++) {
if (arr[i] >= num) {
index = i;
break;
}
}
//如果插入的位置是数组的最后
if (i >= arr.length) {
arr.push(num);
} else {
//如果是数组的中间或者第一个位置,则依次将index 开始到数组的最后一个元素向后移动一位,把index的位置空出来,插入新的元素
for (let j = arr.length; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[index] = num;
} }
return arr;
}
insert();
console.log(arr);
insert(-1,-2);
console.log(arr);
insert(3);
console.log(arr);
insert(6,4,5);
console.log(arr);
题目:比较传入函数的参数,每次只能传入一个参数,将参数组成数组,从小到大排序,返回新的数组。
var arr = [];
var index = 0;
function insert(num) {
//数组本来是有序的,如果i项的值大于传入的参数,在i项的位置插入,
for (var i = 0; i < arr.length; i++) {
if (arr[i] >= num) {
index = i;
break;
}
}
//如果插入的位置是数组的最后
if (i >= arr.length) {
arr.push(num);
} else {
//如果是数组的中间或者第一个位置,则依次将index 开始到数组的最后一个元素向后移动一位,把index的位置空出来,插入新的元素
for (let j = arr.length; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[index] = num;
}
return arr;
}
insert(-1);
insert(9);
题目:将数组中的元素从小到大排序
var arr = [2,6,1,4,7];
for(i=0;i<arr.length;i++){
for(j=i+1;j<arr.length;j++){
if(arr[i]>arr[j]){
let temp = arr[i];
arr[i] =arr[j];
arr[j] = temp;
}
}
}
console.log(arr)
js有序数组中插入一个元素,并有序的输出的更多相关文章
- [jstips]向数组中插入一个元素
向现有数组中插入一个元素是经常会见到的一个需求.你可以: 使用push将元素插入到数组的尾部: 使用unshift将元素插入到数组的头部: 使用splice将元素插入到数组的中间: 上面那些方法都是常 ...
- Leetcode 540.有序数组中的单一元素
有序数组中的单一元素 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数. 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 2: 输入 ...
- Java实现 LeetCode 540 有序数组中的单一元素(位运算入门)
540. 有序数组中的单一元素 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数. 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 ...
- C#如何删除数组中的一个元素
C#如何删除数组中的一个元素,剩余的元素组成新数组,数组名不变double[] arr = new double[n];需要删除的是第m+1个数据arr[m]求新数组arr.(新数组arr包含n-1个 ...
- LeetCode 540. 有序数组中的单一元素(Single Element in a Sorted Array) 42
540. 有序数组中的单一元素 540. Single Element in a Sorted Array 题目描述 每日一算法2019/6/14Day 42LeetCode540. Single E ...
- 去掉有序数组中的重复元素 c/c++
去掉有序数组中的重复元素: int RemoveDuplates(int A[], int nCnt) { ; ; , j = ; i < nCnt && j < nCnt ...
- LeetCode#26 | Remove Duplicates from Sorted Array 删除有序数组中的重复元素
一.题目 Description Given a sorted array, remove the duplicates in-place such that each element appear ...
- C语言:返回两个数组中第一个元素的指针,并输出这个值
// // main.c // Pointer_search // // Created by ma c on 15/8/2. // Copyright (c) 2015年. All righ ...
- 为什么改了JS数组中的一个元素的值,其他数组元素值都跟着变了
原因: 数组是引用类型,数组变量存储在栈,元素数据存储在堆中,将数组赋值不同的对象,所以的赋值对象都指向堆同一个数据,所以改变其中一个数组中的元素,别的数组元素也会改变. 解决方案: 原理就是先把数组 ...
随机推荐
- CentOS7下tftp服务安装配置
1.软件包安装 root用户或者普通用户使用sudo权限执行如下命令: yum install xinetd tftp tftp-server # root 用户执行 sudo yum install ...
- hbase实践之写流程
内容提要 一.写入流程 初始化ZooKeeper Session,建立长连接,获取META Region的地址. 获取rowkey对应的Region路由信息:来自.meta. 写入region 如何快 ...
- 【Python之路】特别篇--抽屉新热榜
登陆与注册 注册功能: 流程: 填写用户名,邮箱,获取邮箱验证码,填入密码 单击<下一步>按钮,完成注册! 1.获取邮箱验证码(具体步骤分析): 1.利用ajax 往后台传入邮箱, 2.后 ...
- toggleClass(class|fn[,sw])
toggleClass(class|fn[,sw]) 概述 如果存在(不存在)就删除(添加)一个类.直线电机参数 参数 classStringV1.0 CSS类名 class,switchStri ...
- use potato
- 【luoguP2675】《瞿葩的数字游戏》T3-三角圣地
题目背景 国王1带大家到了数字王国的中心:三角圣地. 题目描述 不是说三角形是最稳定的图形嘛,数字王国的中心便是由一个倒三角构成.这个倒三角的顶端有一排数字,分别是1~N.1~N可以交换位置.之后的每 ...
- 「BZOJ 5161」最长上升子序列「状压DP」
题意 求一个\(1\sim n\)的排列LIS的期望长度,\(n\leq 28\) 题解 考虑朴素的LIS:\(f[i] = min(f[j]) + 1\) 记\(mx[i]\)为\(f\)的前缀最大 ...
- GC 老年代 新生代
参考资料: http://blog.csdn.net/flamezyg/article/details/44673951 http://www.blogjava.net/ldwblog/archive ...
- css让文字,字母折行
加上如下的CSS设置,就是设定好宽度width,然后设置合适的word-wrap和word-break属性: ul li{ width: 100px; word-wrap: break-word; w ...
- Win10 + CLion + 树莓派 + QT 远程开发调用Python
原则:能在一个机器上开发的就不在两台机器上!! 首先需要配置远程QT开发环境 配置Cmake cmake_minimum_required(VERSION 3.14) project(qt_test) ...