arr

Java排序

不羁的心 提交于 2019-12-04 21:29:05
目录 冒泡排序 冒泡排序 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复n次,就完成了n个数据的排序工作。 package BubbleSort; import java.util.Arrays; public class generalBubble { public static void main(String[] args) { int[] arr=new int[] {5,7,2,9,4,1,0,5,8,7}; System.out.println(Arrays.toString(arr)); bubbleSort(arr); System.out.println(Arrays.toString(arr)); } //冒泡排序 public static void bubbleSort(int[] arr) { //控制共比较多少轮 for(int i=0;i<arr.length-1;i++) { //控制比较的次数 for(int j=0;j<arr.length-1-i;j++) { if(arr[j]>arr[j+1]) { int temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } } }

javascript es6 语法快速入门

故事扮演 提交于 2019-12-04 20:55:43
1. let、const   作用:let 声明变量,const 声明常量   与 var 的区别:不能重复声明,且存在块级作用域,即只在代码块内生效 2. 箭头函数   使用: let show = function (a, b) { return a + b; } alert(show(5, 3))  //结果为8 let show = (a, b) => { return a + b; } alert(show(5, 3))  //结果为8   当函数只有一个参数时,可以省略圆括号;当函数体内只有一条return语句时,可以省略函数体 let score = [19, 78, 90, 32, 12, 88] let r = score.map(item => item >= 60 ? '及格' : '不及格') alert(r)   3. 参数扩展:多余的参数可以通过扩展参数接收 let show = function (a, b, ...args) { alert(a) alert(b) alert(args) } show(1, 2, 3, 4, 5, 6, 7, 8, 9); let arr1 = [1, 2, 3] let arr2 = [4, 5, 6] let arr = [...arr1, ...arr2] alert(arr) 4. 解构赋值

Web前端基础(9):JavaScript(三)

久未见 提交于 2019-12-04 20:29:45
1. 常用内置对象 所谓内置对象就是ECMAScript提供出来的一些对象,我们知道对象都是有相应的属性和方法。 1.1 数组Array 1.1.1 数组的创建方式 字面量方式创建(推荐大家使用这种方式)。 var colors = ['red','color','yellow']; 使用构造函数(后面会讲)的方式创建,使用new关键词对构造函数进行创建对象。 var colors2 = new Array(); 1.1.2 数组的赋值 var arr = []; //通过下标进行一一赋值 arr[0] = 123; arr[1] = '哈哈哈'; arr[2] = '嘿嘿嘿' 1.1.3 数组的常用方法 (1) concat():数组的合并 var north = ['北京','山东','天津']; var south = ['东莞','深圳','上海']; var newCity = north.concat(south); console.log(newCity) (2) join():将数组中的元素使用指定的字符串连接起来,它会形成一个新的字符串 var score = [98,78,76,100,0]; var str = score.join('|'); console.log(str);//98|78|76|100|0 (3) toString():将数组转换成字符串

JS数组

荒凉一梦 提交于 2019-12-04 19:08:23
摘要 最近学习了JS数组的基础知识,在这里呢总结一下,包括js数组的属性与方法,js数组常常遇到的一些问题,小编通过查阅一些网上的知识,把关于数组的东西进行了罗列,希望各位大神多多指点! 数组属性 length length属性表示数组的长度,即其中元素的个数。 JavaScript数组的length属性是可变的,当length属性被设置得更大时,整个数组的状态事实上不会发生变化,仅仅是length属性变大;当length属性被设置得比原来小时,则原先数组中索引大于或等于length的元素的值全部被丢失。 prototype 返回对象类型原型的引用。prototype 属性是 object 共有的。 一般用来给数组实例添加方法。 constructor 表示创建对象的函数。 说明:constructor 属性是所有具有 prototype 的对象的成员。constructor 属性保存了对构造特定对象实例的函数的引用。 基本操作 创建数组 // 数组实例的创建 var arr = [];//创建空数组 var arr = [1,"{1,2}","string"];//创建一个数组并赋值 var arr = new Array(); //创建一个空数组 [] var arr = new Array(5); //创建一个length为5的数组 [undefined, undefined

C语言入门Part7--数组篇

淺唱寂寞╮ 提交于 2019-12-04 18:47:18
C语言入门Part7–数组篇 **关键字:**数组常见问题及注意事项总结,字符串定义,一维数组在内存中的存储, sizeof() 求数组长度的注意事项, sizeof() 的用法注意, sizeof() 和 strlen() 的实例解析,一维数组的使用(冒泡排序及优化,选择排序,直接插入排序),二维数组的创建和初始化,二维数组打印:分别打印上三角 下三角 对称矩阵,二维数组的应用(三子棋,扫雷链接) C语言入门part1 C语言入门part2 C语言入门part3 C语言入门part4 C语言入门part5 C语言入门part6 数组常见问题及注意事项总结 如果数组没有初始化,默认值为随机值。(局部数组) 数组的整体赋值只有一次机会,就是在初始化的同时 arr2=arr 也是错的,不能整体赋值 局部数组,是在什么时候确定大小的? 编译的时候 什么时候分配内存 ? 运行的时候 最大分配多大内存 ? 1M或2M取决于栈的大小(因为数组实在栈当中分配大小的,所以最大就是栈的大小) 整体初始化 局部初始化arr[10]={1,2};其余为0 arr[ ]其中[]里面只能放常量 注意 const int a=10; int arr[a]={0};//错误 错误原因:const修饰的是常变量,本质来说还是一个变量,只是这个变量被限制不能改变数值了而已 #define SIZE 10; int

巧妙利用引用,将数组转换成树形数组

一笑奈何 提交于 2019-12-04 18:37:47
前言 笔者所做的一个项目需要做一个前端的树形菜单,后端返回的数据是一个平行的list,list中的每个元素都是一个对象,例如 list[0] 的值为 {id: 1, fid: 0, name: 一级菜单} ,每个元素都指定了父元素,生成的菜单可以无限级嵌套。一开始找的插件需要手动将生成好的树形数组传进去才能使用(尽管后来找到了一个UI框架,可以直接传list进去,只需要指定id和fid),但是当时思索了好久都没能正确写出来,故在空下来的时候认真想了一下,整理成笔记,以便后期查阅。 准备工作 因为是前端处理,所以本文实现语言为js。 如下,有一个平行的list列表和一个不在list中的根节点root: var s = [ { id: 1, fid: 0, name: "第一级菜单1" }, { id: 2, fid: 0, name: "第一级菜单2" }, { id: 3, fid: 1, name: "第二级菜单1.1" }, { id: 4, fid: 1, name: "第二级菜单1.2" }, { id: 5, fid: 2, name: "第二级菜单2.1" }, { id: 6, fid: 3, name: "第三级菜单1.1.1" }, { id: 7, fid: 3, name: "第三级菜单1.1.2" }, { id: 8, fid: 4, name:

python : npy格式转png格式(源码)

柔情痞子 提交于 2019-12-04 18:08:50
python:npy格式转png格式 源码 GitHub 1、当npy文件中只有一张图片的矩阵 代码如下: import os import matplotlib . pyplot as plt import numpy as np import scipy . misc output_directory = os . path . dirname ( 'name.npy' ) # 提取文件的路径 output_name = os . path . splitext ( os . path . basename ( "name.npy" ) ) [ 0 ] # 提取文件名 arr = np . load ( '~/name.npy' ) # 提取 npy 文件中的数组 disp_to_img = scipy . misc . imresize ( arr , [ 375 , 1242 ] ) # 根据 需要的尺寸进行修改 plt . imsave ( os . path . join ( output_directory , "{}_disp.png" . format ( output_name ) ) , disp_to_img , cmap = 'plasma' ) # 定义命名规则,保存图片 2、当npy中存在多张图片的矩阵时: 整体思路: 单张图片的 .npy 大小维度为

数组的常用方法

徘徊边缘 提交于 2019-12-04 16:47:44
//数组的常用方法 let arr = [ 1 , 2 , "3" , true , NaN ]; //1、添加元素:可以一次增加多个,返回值为添加数据后数组的长度 // 在数组前添加:arr.unshift(); // 在数组后添加:arr.push(); // console.log(arr.push(5));//4 数组长度 // console.log(arr);//[ 1, 2, '3', 5 ] //2、删除元素:一次只能删除一个 /* 在数组前删除:arr.shift(); * 在数组后删除:arr.pop(); * console.log(arr.shift(1));//1 * console.log(arr);//[ 2, '3' ] 注:删除的元素内容可以用一个变量接收 * let i=arr.pop(); */ //3、slice批量获取数组中的数据 arr.slice(参数); /* 注:1、不会改变原数组的内容 2、如果参数给的负数,则使用与数组长度arr.length相加后的返回值 3、不满足条件,返回空数组 1个参数:获取该索引到数组最后一个索引下的内容 2个参数arr.slice(参1,参2): 参1:获取该数组的起始位置(索引) 参2:获取数组的结束位置 注:获取的数据不包括结束索引的数据,即获取至参2索引前一个元素 */ // let arr1

localStorage中一个数组嵌套一个数组的怪相

本小妞迷上赌 提交于 2019-12-04 16:46:27
localStorage中一个数组嵌套一个数组的怪相 需求:向本地存储中循环添加对象 思路 : ​ 先完成点击事件中添加本地存储功能,当刷新时使用一个数组记录已经存储下来的数据,并在点击事件中将新生成的数组push进去,实现数据的添加。 第一版代码 let btn = document.querySelector("button"); function Obj() { this.a=1; this.address='none'; this.mail='none' } let i = 0; let arr = []; let gettext = JSON.parse(localStorage.getItem("text")); // 注意 gettext ? arr.push(gettext) : arr = []; console.log(arr); btn.onclick = function(){ let obj = new Obj(); obj.a = i; arr.push(obj); console.log(arr); localStorage.setItem("text",JSON.stringify(arr)); i++; } 按照之前思路列出了代码,在浏览器中查看存储下来的数据时却发现如下现象 数组发生嵌套,arr[0]和1中都嵌套了多层代码

js基础

≡放荡痞女 提交于 2019-12-04 16:23:43
1.使用<script>标签 输出: document.write("<h1>标签h1</h1>") //可以嵌套标签 <script> document.getElementById("pid").innerHTML="hello"; </script> 2.语法和注释 js语句向浏览器发出命令 语句之间的分隔符是 ; 按照编写顺序依次执行 js标识符必须以字母,下划线或美元符号开始 js对大小写敏感 注释 单行注释// 多行注释 /* */ 3.变量和数据类型 var 数据类型:字符串(String)数字(Number)布尔(Boolean) 数组(Array) 对象(Object)空(null) 未定义 可以通过赋值为null的方式清除变量 (1) var arr=[1,2,3,4]; document.write(arr[0]); (2) var arr = new Array("hello","nihao","dajiahao" ); document.write(arr[2]); (3) var arr = new Array(); //动态 arr[0]= 10; arr[10]=20; document.write(arr[0]); 4.运算符 (1)js运算符 例: <p>i = 10,j = 10,i+j = ?</p><p id="sumid"></p>