arr

冒泡排序--JavaScript描述

匿名 (未验证) 提交于 2019-12-02 21:53:52
  相信凡是编程入门的都接触过冒泡排序算法,排序算法在编程中经常用到。 1. code 1 /** 2 * 冒泡排序 3 * 1、比较的轮数等于总数 - 1 4 * 2、比较次数等于要比较的个数 - 1 5 * --比较从第一个到最后一个 6 * --每一轮比较完得到一个最终值、不参与下一次比较 7 * 8 * */ 9 10 /** 11 * 最大时间复杂度 O(n^2) 12 * 空间复杂度 O(1) 13 * */ 14 var arr = [10, 0, 100, 20, 60, 30]; 15 var temp; 16 /** 17 * 从大到小 18 * **/ 19 /* 控制循环比较的轮数 */ 20 for (var i = 0; i < arr.length - 1; i++) { 21 /* 控制每一轮比较的次数 */ 22 for (var j = 0; j < arr.length - 1 - i; j++) { 23 if(arr[j] < arr[j + 1]){ 24 temp = arr[j]; 25 arr[j] = arr[j + 1]; 26 arr[j + 1] = temp; 27 } 28 } 29 } 30 // alert(arr); 31 console.log("从小到大 :" + arr); 32 /** 33 * 从小到大

js循环

匿名 (未验证) 提交于 2019-12-02 21:53:52
var arr =[1,2,3,4,5,6] //全文通用数组,个别除外 while var i=0; while(i<=arr.length-1){ //条件需要有限制,故<=,否则会死循环 console.log(arr[i],i) i++;//更新下标 } do while var i=0; do{ console.log(arr[i],i) i++; }while(i<=arr.length-1);//下标从0开始,length-1 for for(var i = 0;i<arr.length;i++){ console.log(i,arr[i]) } for in for(key in arr){ console.log(key,arr[key]) }  ES6语法 //Array.from IE不识别,IE的兼容写法。 //可以把类数组对象转换为真正的数组 if(!Array.from){   Array.from = function (el) {   return Array.apply(this, el); } }  Set var a=[1,1,1]; var b=new Set(a);//去重 console.log(b) b.add('li')//添加 b.delete('li') //删除 b.has('li') //返回true false; b

判断一个变量是数组还是对象

匿名 (未验证) 提交于 2019-12-02 21:53:52
使用 instanceof 使用 isArray var arr = [] var obj = {} // instanceof function ins(arr) { if (arr instanceof Array) { console.log('is array') } else { console.log('not array') } } ins(arr) // 'is array' ins(obj) // 'not array' // isArray function is(arr) { if (Array.isArray(arr)) { console.log('is array') } else { console.log('not array') } } is(arr) // 'is array' is(obj) // 'not array' 文章来源: https://www.cnblogs.com/0x29a/p/11240874.html

JavaScript的二维数组

匿名 (未验证) 提交于 2019-12-02 21:53:52
二维数组的初始化: 实例① var arr = [[1,2],['a','b']]; console.log(arr[1][0]); //a 第2列第1行所在的元素 实例② var arr = new Array(new Array(1,2),new Array("a","b")); console.log(arr[1][0]); 实例③ var arr = new Array(); //先声明一维 for(var i=0;i<5;i++){ //一维长度为5 arr[i]=new Array(i); //在声明二维 for(var j=0;j<5;j++){ //二维长度为5 arr[i][j]=i; } } 文章来源: JavaScript的二维数组

JavaScript深入研究(一)

匿名 (未验证) 提交于 2019-12-02 21:53:52
在JavaScript中将一个变量赋值为undefined或是null基本上没有区别。在if语句中都会被默认的转换为false,当使用 == 运算符的时候,这两者相等。 区别: 简介: call() 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法。 Function .prototype.call = function (context) { var context = context || window; context.fn = this ; var args = []; for ( var i = 0 ; i< arguments .length;i++){ args.push( 'arguments[' +i+ ']' ); } var result = eval ( 'context.fn(' +res+ ')' ); delete conext.fn(); return result; } //ES6版本 Function .prototype.call = function (context,...args) { var context = context || window; context.fn = this ; let result = context.fn(...args); delete context.fn; return

java循环队列实现代码

匿名 (未验证) 提交于 2019-12-02 21:52:03
循环队列 java实现代码 1 /** 2 * java循环队列实现代码 3 * 5 */ 6 7 8 9 public class QueueArray { 10 11 Object [] arr = new Object [ 10 ];; //队列最多存储arr.length-1个对象 12 int front = 0 ; //队首 13 int rear = 0 ; //队尾 14 15 /** 16 * 入队 17 */ 18 public boolean enqueue ( Object obj ) { 19 if (( rear + 1 )% arr . length == front ) { 20 return false ; 21 } 22 arr [ rear ]= obj ; 23 rear =( rear + 1 )% arr . length ; 24 return true ; 25 26 } 27 28 //出队列 29 public Object dequeue () { 30 if ( rear == front ) { 31 return null ; 32 } 33 Object obj = arr [ front ]; 34 front =( front + 1 )% arr . length ; 35 return obj ; 36 } 37

Java io 以数组形式输入读取

匿名 (未验证) 提交于 2019-12-02 21:52:03
import java.io.FileInputStream; import java.io.IOException; public class work { public static void main ( String [] args ) throws IOException { //创建字节输入流(读文件) FileInputStream fis = new FileInputStream ( "E:\\test.txt" ); byte [] arr = new byte [ 5 ]; int i ; //读取字节个数 i = fis . read ( arr ); while ( i != - 1 ){ //判断是否读到文件末尾 System . out . print ( new String ( arr , 0 , i )); //把实际读取的i个字节 //再次读取内容 i = fis . read ( arr ); } //关闭流 fis . close (); //提示 System . out . println ( "\r\n读取完成!" ); } } //还可以 /* int i = fis.read(arr);//返回值i,表示本次读取字节的个数 System.out.println(“读取的字节个数:”+i); System.out.println(

java 实现 快速排序

匿名 (未验证) 提交于 2019-12-02 21:52:03
原因 原来总是听别人说快速排序,但是一直没有实现过,今天就来实现一下. 原理 先说说我自己理解的快速排序的原理: 我们排序一般都是对一个数组中的数据进行排序,快速排序的原理就是把数据按照一个分界值给分成两部分,每一个部分可以看做是一个数据.位于分界值左边的数组中的每个值都比分界值小,位于分界值右边的数组中的每个值都比分界值大.然后在不断的改变这个分界值.最后就可以实现快速排序了. 要想实现快速排序,我们得注意两个问题.第一个在比较的过程中,我们肯定是需要对数组进行循环比较的,但是我们没办法确定需要比较的次数,所以需要用while来判断.第二个是,无论是位于分界值左边的数组还是位于分界值右边的数组,对于我们来说,对他进行排序的逻辑是一样.所以我们可以考虑使用递归进行处理.要使用递归,我们就得注意递归使用的条件.首先递归我们最好单独写一个方法.其次,需要确定递归退出的条件.最后,我们需要共同的特性,规律. 知道了上面的这些内容.就开始着手实现快速排序. 话不多说,直接撸代码: package com . aaleiye . Algorithm ; import java . util . Arrays ; /** * Project_name: planRouteBuildBaseData * Company: aleiye * Author: yangsen * Date:

java中System.out.println()打印输出结果

匿名 (未验证) 提交于 2019-12-02 21:52:03
疑点 :syso()是打印输出语句,打印的是什么? syso()不同情况下打印输出的结果不一样: 1. package com . briup ; public class Syso { public static void main ( String [] args ) { int i = 1 ; System . out . println ( i ); } } 结果为:1 2. public class Syso { public static void main ( String [] args ) { //int i = 1; //System.out.println(i); int [] arr = new int [ 10 ]; System . out . println ( arr ); System . out . println ( arr [ 0 ]); } } 结果为: [I@15db9742 0 3. public class Syso { public static void main ( String [] args ) { //int i = 1; //System.out.println(i); //int[] arr = new int[10]; //System.out.println(arr); //System.out.println

Java基础(Arrays)

匿名 (未验证) 提交于 2019-12-02 21:52:03
概述:包含操作数组的各种方法 常用方法: 1.获取集合:Arrays.asList() 方法返回的是一个固定大小的数组 应用: List list=Arrays.asList(1,2,3,4); System.out.println("将多个数据转换成List集合"+list); 2.数组排序:对指定的 char 型数组按数字升序进行排序,该排序算法是一个经过调优的快速排序法 应用: int[] arr={1,7,3,5,2,8,9}; Arrays.sort(arr); System.out.println("排序之后的结果是"+Arrays.toString(arr)); 3.对已排序数组进行二分查找:如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。 应用: int[] arr={1,2,3,4,5,6,7}; int index=Arrays.binarySearch(arr,5); System.out.println("该数字的索引为"+index); //在[0,4]区间内进行二分查找 int a=Arrays.binarySearch(arr,0,4,3); System.out.println("找到了,索引为"+a); 4.比较数组是否相等:如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。 应用: /