array

排序算法之选择排序

别说谁变了你拦得住时间么 提交于 2019-12-22 02:43:38
介绍 选择排序【selectSort】的基本思想是:从待排序的序列中,按照指定的规则,选择某一个元素,再按照规定交换位置后达到排序的目的。 例如,排序一个数组长度为n的arry[], 第一次从array[0]--array[n-1]中选择最小值,与array[0]交换。 第二次从array[1]--array[n-1]中选择最小值,与array[1]交换。 。。。。 第n-1次从array[n-2]--array[n-1]中选择最小值,与array[n-2]交换。 总共经过n-1次比较交换,得到一个有序的序列。 代码 //选择排序 public static void selectSort(int[] arr) { //在推导的过程,我们发现了规律,因此,可以使用for来解决 //选择排序时间复杂度是 O(n^2) for (int i = 0; i < arr.length - 1; i++) { int minIndex = i; int min = arr[i]; for (int j = i + 1; j < arr.length; j++) { if (min > arr[j]) { // 说明假定的最小值,并不是最小 min = arr[j]; // 重置min minIndex = j; // 重置minIndex } } // 将最小值,放在arr[0], 即交换

JS数组去重

拜拜、爱过 提交于 2019-12-22 01:57:26
js数组去重方法 数组去重 1.利用for嵌套for,然后splice去重(ES5中最常用) function unique ( arr ) { for ( var i = 0 ; i < arr . length ; i ++ ) { for ( var j = i + 1 ; j < arr . length ; j ++ ) { if ( arr [ i ] == arr [ j ] ) { //第一个等同于第二个,splice方法删除第二个 arr . splice ( j , 1 ) ; j -- ; } } } return arr ; } var arr = [ 1 , 1 , 'true' , 'true' , true , true , 15 , 15 , false , false , undefined , undefined , null , null , NaN , NaN , 'NaN' , 0 , 0 , 'a' , 'a' , { } , { } ] ; console . log ( unique ( arr ) ) //[1, "true", 15, false, undefined, NaN, NaN, "NaN", "a", {…}, {…}] //NaN和{}没有去重,两个null直接消失了 2.利用indexOf去重 function

php统计数组元素个数

爷,独闯天下 提交于 2019-12-22 01:30:29
本文转载自: https://www.cnblogs.com/taletao/archive/2012/04/26/2471338.html 作者:taletao 转载请注明该声明。 count():对 数组 中的 元素 个数进行统计; sizeof():和count()具有同样的用途,这两个函数都可以返回数组元素个数.可以得到一个常规标量变量中的元素个数,如果传递给这个函数的数组是一个空数组,或者是一个没有经过设定的变量,返回的数组元素个数就是0; array_count_value():统计每个特定的值在数组$array中出现过的次数; 如: $array=array(4,5,1,2,3,1,2,1); $ac=array_count_value($array); 将创建一个名为$ac数组,该数组包括: 关键字 值 4 1 5 1 1 3 2 2 3 1 来源: CSDN 作者: w36680130 链接: https://blog.csdn.net/w36680130/article/details/103642361

删除空数组元素

风流意气都作罢 提交于 2019-12-21 19:46:34
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 根据用户提交的内容,数组中的某些元素是空字符串。 我需要删除那些元素。 我有这个: foreach($linksArray as $link) { if($link == '') { unset($link); } } print_r($linksArray); 但这是行不通的。 $linksArray 仍然具有空元素。 我也尝试过使用 empty() 函数,但是结果是一样的。 #1楼 $myarray = array_filter($myarray, 'strlen'); //removes null values but leaves "0" $myarray = array_filter($myarray); //removes all null values #2楼 function trim_array($Array) { foreach ($Array as $value) { if(trim($value) === '') { $index = array_search($value, $Array); unset($Array[$index]); } } return $Array; } #3楼 我必须这样做以保持(string)0的数组值 $url = array_filter($data,

Sum of two arrays

纵然是瞬间 提交于 2019-12-20 04:23:38
问题 The exercise says "Make a function with parameters two int arrays and k which is their size. The function should return another array (size k) where every element of it is the sum of the two arrays of the same position. That's what I wrote, but it crashes. Do I have to do it with pointers? #include <stdio.h> #include <stdlib.h> void sumarray(int k,int A[k],int B[k]){ int sum[k],i; for(i=0;i<k;i++){ sum[i]=A[i]+B[i]; printf("sum[%d]=%d\n",i,sum[i]);} } main(){ int i,g,a[g],b[g]; printf("Give

python中合并数组的方法

与世无争的帅哥 提交于 2019-12-20 02:30:51
一、数组纵向合并 1、使用np.vstack()函数 【code】 #数组 a = [[1,2,3],[4,5,6]] b = [[1,1,1],[2,2,2]] #纵向合并 c = np.vstack((a,b)) print("c="+str(c)) 【result】 c = array([[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]]   2、使用 np.r_[]函数 【code】 #数组 a = [[1,2,3],[4,5,6]] b = [[1,1,1],[2,2,2]] #纵向合并 c =np.r_[a,b]print("c="+str(c)) 【result】 c = array([[1, 2, 3], [4, 5, 6], [1, 1, 1], [2, 2, 2]]   3、不使用函数,直接合并,见代码 【code】 a_prev=np.array(([1,2],[3,4])) xt=np.array(([1,2],[3,4],[5,6])) concat = np.zeros([5,2]) concat[: 2, :] = a_prev concat[2 :, :] = xt print(concat) 【result】 [[1. 2.] [3. 4.] [1. 2.] [3. 4.] [5. 6.]]    二

矩阵乘法np.dot()及np.multiply()以及*

一笑奈何 提交于 2019-12-20 02:30:27
转载自 https://blog.csdn.net/u012609509/article/details/70230204 Python中的几种矩阵乘法 1. 同线性代数中矩阵乘法的定义: np.dot() np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义。对于一维矩阵,计算两者的内积。见如下Python代码: import numpy as np # 2-D array: 2 x 3 two_dim_matrix_one = np.array([[1, 2, 3], [4, 5, 6]]) # 2-D array: 3 x 2 two_dim_matrix_two = np.array([[1, 2], [3, 4], [5, 6]]) two_multi_res = np.dot(two_dim_matrix_one, two_dim_matrix_two) print('two_multi_res: %s' %(two_multi_res)) # 1-D array one_dim_vec_one = np.array([1, 2, 3]) one_dim_vec_two = np.array([4, 5, 6]) one_result_res = np.dot(one_dim_vec_one, one_dim_vec_two)

数组排序

孤街醉人 提交于 2019-12-19 01:41:26
//排序算法 window.onload = function(){ var array = [0,1,2,44,4, 324,5,65,6,6, 34,4,5,6,2, 43,5,6,62,43, 5,1,4,51,56, 76,7,7,2,1, 45,4,6,7,8]; //var array = [4,2,5,1,0,3]; console.log('原始数组'); console.log(array); array = sorting.shellSort(array); // alert(array); console.log('排序后的数组') console.log(array); } var sorting = { //利用sort方法进行排序 systemSort: function(arr){ return arr.sort(function(a,b){ return a-b; }); }, //冒泡排序 bubbleSort: function(arr){ var len=arr.length, tmp; for(var i=0;i<len-1;i++){ for(var j=0;j<len-1-i;j++){ if(arr[j]>arr[j+1]){ tmp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = tmp; } } }

Python外卷(9)--numpy数组堆叠stack(),连接concatenate(),转list

不想你离开。 提交于 2019-12-18 22:22:46
numpy数组堆叠,连接,转list 1.numpy 数组->list 2.拼接多个格式相同的numpy.array->list 3.np.vstack(),np.hstack() 3.numpy.stack() 1.numpy 数组->list 直接用list()函数 # 转换成 第0维的每一个元素(Numpy.array) 组成的list 用array.tolist()函数 # 与原来的array的数据形式是一样的,只不过每一维度都是一个list 总之:tolist() 方法转换的更彻底,list()方法只转换了源数据的第一个维度. 如果np.array是一维,两者没有区别。但如果是二维结果是不同的。 >> > import numpy >> > a1 = numpy . random . rand ( 3 ) >> >> > a1 array ( [ 0.26546725 , 0.27424911 , 0.18618962 ] ) >> > list ( a1 ) [ 0.26546725247934855 , 0.27424910895802035 , 0.18618962270208705 ] >> > a1 . tolist ( ) [ 0.26546725247934855 , 0.27424910895802035 , 0.18618962270208705 ] >

python生成随机数random.normalvariate矩阵输入,超牛逼

北城以北 提交于 2019-12-18 15:36:37
import random mu = np.array ( [ [ 0, 100 ] , [ -100, 900 ] ] ) sigma = np.array ( [ [ 1, 1 ] , [ 1, 1 ] ] ) number = random.normalvariate ( mu, s ) mu array ( [ [ 0, 100 ] , [ -100, 900 ] ] ) sigma array ( [ [ 1, 1 ] , [ 1, 1 ] ] ) number array ( [ [ -5.89493150e-01, 9.94105068e+01 ] , [ -1.00589493e+02, 8.99410507e+02 ] ] ) 对应位置组队 来源: CSDN 作者: doubleslow; 链接: https://blog.csdn.net/qq_36607894/article/details/103596332