arr

js清空数组的方法

对着背影说爱祢 提交于 2020-03-09 08:04:09
1.splice方法 splice() 方法用于插入、删除或替换数组的元素。 splice() 会直接修改原数组,通过去除数组内所有元素来实现。 var arr = [1,3,5,7,9]; arr.splice(0,arr.length); console.log(arr) 2.赋值length为0 javascript中 数组的 length 和其他的语言的数组中 length 不同, js 中数组 length 可以自己设置大小,意思是可读可写的,但其他语言如 java , c++ 中都是不能进行修改,只读形式存在。 如 java 中对数组 length 赋值将报错。 var arr = [1,3,5,7,9]; arr.length=0; console.log(arr) 3.赋值为[] 这里其实并不能说是严格意义的清空数组,只是将 arr 重新赋值为空数组,之前的数组如果没有引用在指向它将等待垃圾回收。 var arr = [1,3,5,7,9]; arr = []; console.log(arr) 来源: CSDN 作者: 叉叉酱 链接: https://blog.csdn.net/weixin_39782183/article/details/104739162

LeetCode:字符串转换整数 (atoi)

a 夏天 提交于 2020-03-09 07:58:12
刷题神器:LeetCode官方网站 一、题目还原 请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以被忽略,它们对于函数不应该造成影响。 注意:假如该字符串中的第一个非空格字符不是一个有效整数字符、字符串为空或字符串仅包含空白字符时,则你的函数不需要进行转换。 在任何情况下,若函数不能进行有效的转换时,请返回 0。 说明: 假设我们的环境只能存储 32 位大小的有符号整数,那么其数值范围为 [−2 31 , 2 31 − 1]。如果数值超过这个范围,请返回 INT_MAX (2 31 − 1) 或 INT_MIN (−2 31 ) 。 示例 1: 输入: “42” 输出: 42 示例 2: 输入: " -42" 输出: -42 解释: 第一个非空白字符为 ‘-’, 它是一个负号。 我们尽可能将负号与后面所有连续出现的数字组合起来,最后得到 -42 。 示例 3: 输入: “4193 with words” 输出: 4193 解释:

《算法图解》笔记

爷,独闯天下 提交于 2020-03-09 03:38:22
看书还得写笔记,文字的写不来,还是写电子的,自己的字跟狗爬一样,打出来的字好多了。 后续把自己看的基本关于网络的书也写点博客,一便于查寻,二便于加强记忆,要不然跟小说一样,看了就忘了。 第1章:算法介绍 理解大O表示法,并非以秒为单位。大O表示法让你能够比较操作数,它指出了算法运行时间的增速。 大O表示法说的是在查找情况中最糟的情形。 从快到慢晕倒的5种大O运行时间。 O(log n),也叫对数时间,这样的算法包括二分查找。 O(n), 也叫线性时间,这样的算法包括简单查找。 O(n * log n),这样的算法包括快速排序---一种比较快的排序算法 O(n2)【表示n的平方】, 这样的算法包括选择排序---一种速度较慢的排序算法 O(n!), 这样的算法包括旅行商的解决方案---一种非常慢的算法 第一章主要理解: 算法的速度指的并非时间,而是操作数的增速。 讨论算法的速度时,我们说的是随着输入的增加,其运行时间将以什么样的速度增加。 算法的运行时间用大O表示法表示。 O(log n)比O(n)快,当需要搜索的元素越多时,前者比后者快很多。 小结: 二分查找的速度比简单查找快很多。 O(logn)比O(n)快。需要搜索的元素越多,前者比后者就快得更多 算法运行时间并不以秒为单位。 算法运行时间是从其增速的角度度量的。 算法运行时间用大O表示法表示 最后上书中的二分查找代码 def

数组与指针

倾然丶 夕夏残阳落幕 提交于 2020-03-08 20:07:06
1、数组元素的指针    一 个变量有地址,一个数组包含若干元素,每个数组元紫都在内存中占用存储单元,它们都有相应的地址。指针变量既然可以指向变量,当然也可以指向数组元素(把某元素的地址放到一个指针变量中)。所谓数组元索的指针就是数组元素的地址。引用数组元素可以用下标法(如a[3]),也可以用指针法,即通过指向数组元素的指针找到所需的元素。使用指针法能使目标程序质量高(占内存少,运行速度快)。 /*定义一个指向数组元素的指针变量的方法*/ int a[10]; //定义a为包含10个整型数据的数组 int *p; //定义p为指向整型变量的指针变量 /*应当注意:如果数组为int型,则指针变量的基类型也为int型,下面对该指针变量赋值*/ p=&a[0]; //把a[0]元素的地址赋给指针变量p /*C语言规定,数组名代表数组中首元素的地址*/ p=&a[0] <=> p=a //等价关系 /*注意数组名a不代表整个数组,上述p=a的作用是把a数组元素的首地址赋给指针变量p,而不是将数组a各元素的值赋给p*/ 2、通过指针引用数组元素    假设p已定义为一个指向整型数据的指针变量,并已给它赋了一个整型数组元素的地址,使它指向某一个数组元素。如果有赋值语句:*p=1; 表示将1赋给ρ当前所指向的数组元素。按C语言的规定:如果指针变量p已指向数组中的一个元素,则p

数组排序 : 桶排序和快速排序

▼魔方 西西 提交于 2020-03-08 17:46:07
桶排序 原理 : 数组下标会自动排序 没有的部分用empty代替 function sort ( arr ) { var newArr = [ ] ; //定义一个新数组 //遍历数组 取出原数组的每一位 for ( var i = 0 ; i < arr . length ; i ++ ) { //把原数组的每一位的值当作新数组的下标 并随意赋值(数组下标会自动排序) newArr [ arr [ i ] ] = 1 ; } arr . length = 0 ; //清空原数组 //取出新数组的下标 for ( var key in newArr ) { arr . push ( + key ) ; //转换为数字再赋给原数组 } return arr ; //返回原数组 } 快速排序 原理 : 利用递归 找中点 分左右 function sort ( arr ) { //递归出口 if ( arr . length === 1 || arr . length === 0 ) { return arr ; } // 找中间下标和中间值 var mid_index = parseInt ( arr . length / 2 ) ; //中间下标 var mid_value = arr [ mid_index ] ; //中间值 var left = [ ] ; var right

Java语言基础JavaScript

不羁岁月 提交于 2020-03-08 16:40:04
JavaScript概述 JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。 特点: 1.交互性(它可以做的是信息的动态交互) 2.安全性(不允许直接访问本地硬盘) 3.跨平台性(只要是可以解析Js的浏览器都可以执行,和平台无关) JavaScript与Java的不同 1.Js是Netscape(网景)公司的产品,前身是LiveScript;Java是Sun公司的产品,现在是Oracle公司的产品。 2.Js是基于对象,Java是面向对象。 3.Js只需解释就可以执行,Java需要先编译成字节码文件,再执行。 4.Js是弱类型,Java是强类型(每一种类型都有具体的划分)。 JavaScript与Html的结合方式 1.将JavaScript代码封装到<script>标签中; 2.将JavaScript代码封装到js文件中,并通过<script>标签中的src属性进行引用; <script type="text/javascript" src="demo.js"> </script> 注意:如果<script>标签中使用了src属性,那么该标签中封装的javascript代码不会被执行。所以导入js文件通常都是使用单独的<script>标签。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional/

7 Sorting Algorithms

巧了我就是萌 提交于 2020-03-08 13:03:45
7 sorting algorithm Bubble Sort 最右边是最大的值。每一轮之后都得到最右边的值。 void bubbleSort ( int arr [ ] ) { int n = arr . length ; for ( int i = 0 ; i < n - 1 ; i ++ ) for ( int j = 0 ; j < n - i - 1 ; j ++ ) if ( arr [ j ] > arr [ j + 1 ] ) { // swap arr[j+1] and arr[i] int temp = arr [ j ] ; arr [ j ] = arr [ j + 1 ] ; arr [ j + 1 ] = temp ; } } QuickSort There are many different versions of quickSort that pick pivot in different ways. Always pick first element as pivot. Always pick last element as pivot (implemented below) Pick a random element as pivot. Pick median as pivot. 来源: CSDN 作者: Nora_guo 链接: https:

Python中numpy.apply_along_axis()函数的用法

落花浮王杯 提交于 2020-03-08 08:17:00
numpy. apply_along_axis ( func , axis , arr , *args , **kwargs ): 必选参数:func,axis,arr。其中func是我们自定义的一个函数,函数func(arr)中的arr是一个数组,函数的主要功能就是对数组里的每一个元素进行变换,得到目标的结果。 其中axis表示函数func对数组arr作用的轴。 可选参数: *args , **kwargs。都是func()函数额外的参数。 返回值:numpy. apply_along_axis()函数返回的是一个根据func()函数以及维度axis运算后得到的的 数组. 实例: def my_func(a):   return (a[0] + a[-1]) * 0.5 b=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]) np.apply_along_axis(my_func, 0, b) 输出: array([ 5., 6., 7., 8.]) np.apply_along_axis(my_func, 1, b) 输出: array([ 2.5, 6.5, 10.5]) numpy英文解释文档 来源: https://www.cnblogs.com/zz22--/p/7498868.html

JavaScript Array 整理 - 元素操作

可紊 提交于 2020-03-08 08:04:20
整理一下Array对象中针对元素操作的方法。 分别是: concat (组合数组) join(数组转字符串) pop(删除最后一个元素) shift(删除第一个元素) push(在数组尾部添加新元素) unshift(在数组头部添加新元素) slice (不改变数组本身,常用将类数组转换成数组,而后可以使用数组方法操作类数组) splice (指定位置、截取、替换) Array.prototype.concat(arr[, arr1, ......, arrN]) 描述 此方法返回一个由自身及所传参数拼接成的新数组,每一个参数都必须为数组类型。 return Array,由自身及参数拼接成的新数组。 demo var arr = [1,2,3]; arr.concat(['a'], ['b']) [1, 2, 3, "a", "b"] Array.prototype.join([str]) 描述 此方法将数组中所有元素组合成一个字符串,默认以“,”号拼接,也可以指定拼接参数。 return String, 有数组中所有元素拼接成的字符串 demo var arr = [1,2,3]; arr.join() "1,2,3" Array.prototype.pop() 描述 返回数组最后一个元素,并从当前数组中删除它。 return 返回当前数组最后一个元素 demo var arr

冒泡排序c语言实现

筅森魡賤 提交于 2020-03-07 19:10:48
冒泡排序的基本思想是: 1.在长度为n的数组,通过不断比较两个相邻元素,把值大的往后移动,当遍历完最后一个元素时,最大值存放在数组[n-1]下标位置。 2.通过步骤1的比较后,数组长度为n-1(因为arr[n-1]的元素已是整个数组最大的,没必要再比较),然后再在长n-1的数组中找出次大的数放到 arr[n-2]位置,比较完成后数组无序部分长度为 n-2,然后循环执行这步直到数组无序部分长为1。 // 在长为len 的数组中,循环 n-2次比较,把最大值放在 arr[n-1]位置void buble(int arr[], int len) { for(int i = 0; i < len-1; i++) { if(arr[i] > arr[i+1]) { int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } } 以上完成把数组最大的元素放在arr[n-1]位置,现在数组无序的部分只有前面的arr[0]~arr[n-2],则循环设置数组长度设置为 n-1(找出次大的放在arr[n-2]), n-2, ..., 1, 最后完成 排序,第二步代码为 void bubble_sort(int arr[], int len) { for(int i = len; i > 0; i--) //数组从长到短,每循环一次