arr

JS练习-牛客网-数组练习14题

匿名 (未验证) 提交于 2019-12-02 23:56:01
1.很多人都使用过牛客网这个在线编程网站,下面是自己做的JS数组部分的练习,已通过网站和老师检查无误,分享给大家。 2.先说一下题目的位置:牛客网 https://www.nowcoder.com/activity/oj →在线编程→JS能力测评经典题 3.数组部分共14题,大部分有两种解法,一种用常规循环做,一种用Array对象的方法做。 <!DOCTYPE HTML> <html> <head> <title> index </title> <meta charset = "utf-8" > <meta name = "Author" content = "Helen" > <script> //共14题 //case1:找出元素 item 在给定数组 arr 中的位置,如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1 // 解法一:通过自定义函数来解 function indexOf ( arr , item ) { for ( var i = 0 ; i < arr . length ; i ++){ if ( arr [ i ]=== item ){ return i ; } } //end for return - 1 ; } //解法二:直接通过函数方法来解 function indexOf ( arr , item ) { return arr .

collection集合--List

匿名 (未验证) 提交于 2019-12-02 23:56:01
List list(有序、可重复) List接口的子类: List及其子类的存储的特点: 堆栈 队列: 数组类型的数组集合(ArrayList): 1.查找元素快(通过索引可以快速的找到指定位置的元素;因为有下标所以查询快) 查找元素慢(因为没有下标,得通过地址一个一个找);想查找某个元素,需要通过连接的节点,依次向后查找指定元素 2.增删速度快:因为新增或者删除一个元素直接改变元素链接的下一个地址就行; .ArrayList与 LinkedList对比: 。ArrayList是数组类型的集合:查询速度快,增删速度慢,所以多用ArrayList集合存储经常需要查询的数据;多用于查询业务。 。 LinkedList 是链表类型的集合:增删速度快,查询速度慢,所以多用LinkedList进行存储业务 List: :向集合末尾处,添加指定的元素 add(int index, Object e) :向集合指定索引处,添加指定的元素,原有元素依次后移 remove(Object e) :将指定元素对象,从集合中删除,返回值为被删除的元素 :将指定索引处的元素,从集合中删除,返回值为被删除的元素 :将指定索引处的元素,替换成指定的元素,返回值为替换前的元素 :获取指定索引处的元素,并返回该元素 public static void main(String[] args) { List

数据结构―顺序表

匿名 (未验证) 提交于 2019-12-02 23:52:01
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<assert.h> #include<memory.h> typedef struct seqlist { int arr[10]; //首元素地址 int capacity; //数组一共能容纳多少数据。sizeof(arr)/sizeof(arr[0]) int size; //统计数组现在已经放进去多少数据,size值的范围 [0,capacity] }seqlist; //数组元素下标的最大值 capacity-1 顺序表:表现一般是数组,地址连续的存储单元依次存储数据元素。arr[10] 长度是固定的,在分配内存之前要确定数组的长度 n=sizeof(arr) / sizeof(arr[0]) 存储空间连续,允许随机访问,即访问任何下标的地方都可以 [0,n) 使用索引(下标)访问元素 arr[index] 插入元素,要判断是否超出数组下标。超出则申请二倍长度的新空间,再数据复制到新空间 每超出,如果是将k插入到链表末尾: int main() { int arr[10] = { 1, 2, 3, 4 }; seqlist* Seqlist; Seqlist->arr[9] = k; Seqlist-

荷兰国旗问题,对于一个数组,给定一个数组中的元素,将数组中比该数小的放左边,比该数大的放右边。

匿名 (未验证) 提交于 2019-12-02 23:51:01
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 ( Creative Commons ) /** * 创建人:yang.liu * 创建时间:2019/7/23 16:27 * 版本:1.0 * 内容描述:对于一个数组,给定一个数组中的元素,将数组中比该数小的放左边,比该数大的放右边。 * 通过快排中的分区思想来做。 */ public class QuicksortPartition { public static void main ( String [ ] args ) { int [ ] arr = { 7 , 2 , 1 , 8 , 5 , 7 , 3 , 7 , 9 , 4 , 6 , 7 } ; solution ( arr , 7 ) ; System . out . println ( Arrays . toString ( arr ) ) ; } /** * 7, 2, 1, 8, 5, 7, 3, 7, 9, 4, 6, 7, 初始状态是left和cur指向第一个元素位置,right指向最后一个元素的位置。 * [left,cur)之间是维护的是和给定数字7相等的数,cur是每次需要判断是比7大还是小,还是相等。 */ public static void solution ( int [ ] arr , int

动态数组C语言实现

匿名 (未验证) 提交于 2019-12-02 23:49:02
/* * DynamicArray.h * * Created on: 2019年7月22日 * Author: Jarvis */ #ifndef SRC_DYNAMICARRAY_H_ #define SRC_DYNAMICARRAY_H_ //动态增长内存 策略 将数据放到堆上 //动态数组 如果5个元素 申请内存 拷贝数据 释放内存 // 容量 capacity 表示我的这块内存空间一共可以存放多少个元素 // size 记录当前数组中具体的元素个数 //定义动态数组的结构体 typedef struct DYNAMICARRAY { int * pAddr ; // 存放数据的地址 int size ; //当前有多少个元素 int capacity ; //容量, 容器当前能容纳多少个元素 } Dynamic_Array ; //操作函数 //初始化 Dynamic_Array * Init_Array (); //插入 void PushBack_Array ( Dynamic_Array * arr , int value ); //根据位置删除 void RemoveByPos_Array ( Dynamic_Array * arr , int pos ); //根据值删除 void RemoveByValue_Array ( Dynamic_Array *

简单排序(冒泡,选择,插入)

匿名 (未验证) 提交于 2019-12-02 23:49:02
冒泡排序经常是我们所接触到的第一个排序算法,因此思想也相对比较简单,它的原理就是按照索引(数组,集合等)顺序从前往后依次与它后面的元素一个一个进行比较。 public static void bubleSort(Integer[] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } } 选择排序的核心思想就是从待排序的元素中找出最小的元素,我们可以把一组数据分为两部分,左边是排好的,右边是没有排好的。最初的时候,全是没有排序过的,我们此时假定 arr[0] ,也就是 minIndex=0 ,这个位置的元素是最小的。然后我们依次把后面的元素与它进行比较,如果arr[j]比这个 arr[minIndex] 还要小,那么我们就更新 minIndex -> minIndex=j 的值,最后该轮循环结束后如果 i 不等于 minIndex ,我们就进行交换操作。接着i=1,minIndex=i,进行下一轮的操作。 public static void selectSort2(Integer[] arr){ for(int i=0;i<arr

JS中关于Array.filter()

匿名 (未验证) 提交于 2019-12-02 23:49:02
filter是Javascript中Array常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素 1 var arr = ['A', 'B', 'C']; 2 var r = arr.filter(function (element, index, self) { 3 console.log(element); // 依次打印'A', 'B', 'C' 4 console.log(index); // 依次打印0, 1, 2 5 console.log(self); // self就是变量arr 6 return true; 7 }); 利用 filter,可以巧妙地去除Array的重复元素: var arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry']; r = arr.filter(function (element, index, self) { return self.indexOf(element) === index; }); console.log(r.toString());   参考: https://www.jb51.net/article/99038.htm

数组元素反转

匿名 (未验证) 提交于 2019-12-02 23:48:02
数组元素反转: class Hello2 { public static void main ( String [] args ) { int [] arr = { 11 , 12 , 13 , 14 , 15 }; reverseArray ( arr ); print ( arr ); } public static void reverseArray ( int [] arr ) { for ( int i = 0 ; i < arr . length / 2 ; i ++ ) { int temp = arr [ i ]; arr [ i ] = arr [ arr . length - 1 - i ]; arr [ arr . length - 1 - i ] = temp ; } } public static void print ( int [] arr ) { for ( int i = 0 ; i < arr . length ; i ++ ) { System . out . println ( arr [ i ]); } } } 结果: 转载请标明出处: 数组元素反转 文章来源: 数组元素反转

Arrays常用方法

匿名 (未验证) 提交于 2019-12-02 23:48:02
Arrays常用方法: package com.java.base3.Practice; import java.util.Arrays; public class ArraysTest { public static void main(String[] args) { int[] arr = {1, 2, 3, 4}; int[] arr1 = {1, 3, 2, 4}; // Arrays.equals 对比两数是否相等 boolean isEquals = Arrays.equals(arr, arr1); System.out.println(isEquals); // Arrays.toString 输出数组信息 System.out.println(Arrays.toString(arr1)); // 将指定的值填充到数组之中 Arrays.fill(arr, 99); System.out.println(Arrays.toString(arr)); // 快速排序 Arrays.sort(arr1); System.out.println(Arrays.toString(arr1)); //索引位置查询 int[] array2 = {10, 30, 50, 100, 256, 777, 787, 666}; int index = Arrays

numpy中的delete,insert,append函数

匿名 (未验证) 提交于 2019-12-02 23:47:01
delete numpy.delete(arr,obj,axis=None) arr:输入向量 obj:表明哪一个子向量应该被移除。可以为整数或一个int型的向量 axis:表明删除哪个轴的子向量,若默认,则返回一个被拉平的向量 a = np.array(np.arange(12).reshape(3,4)) a array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) np.delete(a,1,0) array([[ 0, 1, 2, 3], [ 8, 9, 10, 11]]) np.delete(a,1,1) array([[ 0, 2, 3], [ 4, 6, 7], [ 8, 10, 11]]) np.delete(a,[0,1],1) array([[ 2, 3], [ 6, 7], [10, 11]]) np.delete(a,np.s_[::2],1) array([[ 1, 3], [ 5, 7], [ 9, 11]]) 注意: numpy.s_[::2] 表示选取奇数。 insert numpy.insert(arr,obj,value,axis=None) 同理,value为插入的数值 arr:为目标向量 obj:为目标位置 value:为想要插入的数值 axis:为插入的维度 np.insert(a,1,