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数组中的一个元素的值,其他数组元素值都跟着变了
原因: 数组是引用类型,数组变量存储在栈,元素数据存储在堆中,将数组赋值不同的对象,所以的赋值对象都指向堆同一个数据,所以改变其中一个数组中的元素,别的数组元素也会改变. 解决方案: 原理就是先把数组 ...
随机推荐
- p4434 [COCI2017-2018#2] Usmjeri
思路 并查集的好题 考虑到求满足条件限制的方案数,显然观察样例可知结果就是2^x,x是互不影响的边的集合数量 然后考虑如何求互不影响的边的集合数量 可以使用并查集,用i和i+n表示这个点的父亲连向它的 ...
- 长春理工大学第十四届程序设计竞赛H Arithmetic Sequence——使用特例
题目 链接 题意:给定一个数X,输出一个等差数列,使得和为X. 分析 由等差数列的定义,可见一个数就是等差数列,两个数也是等差数列 #include<bits/stdc++.h> usin ...
- Win7下使用Visual Studio为WinXP编译可执行文件
造冰箱的大熊猫@cnblogs 2019/8/5 2019/9/5补充:参见这里 1.问题 开发机是64位Win7,想开发能够运行在WinXP下的C程序,怎么办? 2.解决方法 一个简单粗暴的解决办法 ...
- [Loj] 数列分块入门 1 - 9
数列分块入门 1 https://loj.ac/problem/6277 区间加 + 单点查询 #include <iostream> #include <cstdio> #i ...
- 求二叉树的层次遍历(SDUT 2824)
Problem Description 已知一颗二叉树的前序遍历和中序遍历,求二叉树的层次遍历. Input 输入数据有多组,输入T,代表有T组测试数据.每组数据有两个长度小于50的字符串,第一个字符 ...
- 阿里云Ubuntu安装Composer和中国镜像
引用: Composer是PHP用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件. PHP ...
- Ubuntu16.04搭建NetCore2.2运行环境
选择安装的工具 .Net Core Sdk Nginx Supervisor Mysql 一 安装NetCore SDK 参考微软官方文档 https://docs.microsoft.com/zh ...
- ida 下载
链接:https://pan.baidu.com/s/1Rs2UOSfroBGf_MIkJv0cGw 提取码:kjqd 官网:https://www.hex-rays.com/updida.shtml
- lyc——2019.10.31
10:判决素数个数 总时间限制: 1000ms 内存限制: 65536kB 描述 输入两个整数X和Y,输出两者之间的素数个数(包括X和Y). 输入 两个整数X和Y(1 <= X,Y <= ...
- Namenode服务挂
BUG修复:HDFS-13112 这两天排查了小集群Crash的问题,这里先总结下这两天排查的结果 一.查看日志 首先查看了Namenode Crash的时候的日志 (一)以下是patch hdfs- ...