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数组中的一个元素的值,其他数组元素值都跟着变了
原因: 数组是引用类型,数组变量存储在栈,元素数据存储在堆中,将数组赋值不同的对象,所以的赋值对象都指向堆同一个数据,所以改变其中一个数组中的元素,别的数组元素也会改变. 解决方案: 原理就是先把数组 ...
随机推荐
- [React] Reduce Code Redundancy with Custom React Hooks
In this lesson, we'll cover how to create a custom React hook for managing the state of any input. T ...
- 02 CSS和DIV对界面优化
01 网站首页的优化 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- Luogu P1092 虫食算 爆搜
心路历程:震惊,我竟然得了$90$分!!...康康数据...奥..(忽然有了邪恶的卡数据的想法) 于是把$for(int \space i=0;i<n;++i)$改成了$for(int \spa ...
- slice(start, [end]) 选取一个匹配的子集 与原来的slice方法类似
slice(start, [end]) 概述 选取一个匹配的子集 与原来的slice方法类似 参数 startIntegerV1.1.4 开始选取子集的位置.第一个元素是0.如果是负数,则可以从集合的 ...
- PHP mysqli_field_seek() 函数
定义和用法 mysqli_field_seek() 函数把字段指针设置为指定字段的偏移量. 设置结果集中第一个字段(列)的字段指针,然后通过 mysqli_fetch_field() 获取字段信息并输 ...
- (十八)链接数据库,QSqlTableModel
QMYSQL——mysql QSQLITE——sqlite QOICQ——orcale 所需头文件 .pro增加 sql #include <QSqlDatabase> #include ...
- [Luogu] 魔法树
https://www.luogu.org/problemnew/show/P3833 树链剖分 + 线段树 为啥会RE?? 不解 #include <iostream> #include ...
- 小程序列表倒计时 wxs 实现
效果 代码 js //拿到服务器时间 var serverLocalDate = data.serverLocalDate; //调用函数开始计时 this.serverLocalDate(serve ...
- @ConfigurationProperties实现配置注入到实体类
spring boot 使用@ConfigurationProperties 有时候有这样子的情景,我们想把配置文件的信息,读取并自动封装成实体类,这样子,我们在代码里面使用就轻松方便多了,这时候,我 ...
- ARTS打卡计划第十周
Algorithms: https://leetcode-cn.com/problems/next-greater-node-in-linked-list/ 链表中下一个更大的值,双层循环及优化,后面 ...