数组根据index拆分和查询下标

 private class ArrayTool<T>
    {
        /// <summary>查询值在数组中的下标</summary>
        /// <param name="array">数组</param>
        /// <param name="param">查询的参数</param>
        /// <returns>下标</returns>
        public static int ArrayQueryIndex(T[] array, T param)
        {
            for (int i = 0; i < array.Length; i++)
                if (array[i].Equals(param)) return i;
            return 0;
        }
        /// <summary>根据下标拆分出新数组</summary>
        /// <param name="array">原数组</param>
        /// <param name="EndIndex">结束下标</param>
        /// <param name="StartIndex">开始下标</param>
        /// <returns>新数组</returns>
        public static T[] NewArrayByIndex(T[] array, int EndIndex, int StartIndex)
        {
            T[] result = new T[EndIndex - StartIndex + 1];
            for (int i = 0; i <= EndIndex - StartIndex; i++) result[i] = array[i + StartIndex];
            return result;
        }
    }
时间: 2024-11-09 10:25:10

数组根据index拆分和查询下标的相关文章

js数组移除指定对象或下标i

非常常用的一段代码 1 //数组移除指定对象或下标i 2 Array.prototype.remove = function (obj) { 3 for (var i = 0; i < this.length; i++) { 4 var temp = this[i]; 5 if (!isNaN(obj)) { 6 temp = i; 7 } 8 if (temp == obj) { 9 for (var j = i; j < this.length; j++) { 10 this[j] = t

网站平台架构演变史(四) - 水平拆分的查询

之前在讲表拆分的时候氛围垂直拆分和水平拆分 垂直拆分的查询其实不难,就是从单表变为了多表,而大部分情况下只是对主表的查询多,从表的查询会很少用到,这样的情况下关联查询不需要太多的考虑 水平拆分之前讲了大数据量的情况下根据历史时间来查询,那么今天来说另外一种,还有一只是根据主键id取模后根据这样的规则把数据均匀分布到不同的数据库表中,一般可以以2.5.10来做,那么分页的时候怎么做,用户在查询的时候是不知道你后台怎么查的,他只关心数据的显示,比如我分页显示10条,那么在后台进去查询的时候需要将"1

数组函数《拆分、合并、分解和接合》

本节介绍的数组处理函数能够完成一些更复杂的数组处理任务,可以把数组作为一个集合处理.例如,对两个货多个数组进行合并,计算数组间的差集或交集,从数组元素中提取一部分,以及完成数组的比较. ①函数array_slice() array_slice()函数的作用是在数组中根据条件取出一段值并返回.如果数组有字符串键,所返回的数组将保留键名.该函数可以设置4个参数,其函数的原型如下: array array_slice(array array , int offset [,int length[,boo

ElasticSearh更新nested字段(Array数组)。怎么根据查询条件(query)复制一个(index)到新的Index how to update by query a nested fields data for elasticsearch

GET usernested/_search { "query": { "nested": { "path": "tags", "query": { "bool": { "must": [ { "term": { "tags.brandid": "93a8296c-5b64-49ea-bd92-b19192def2e9

树状数组的区间更新与查询

树状数组天生用来动态维护数组前缀和,其特点是每次更新一个元素的值,查询只能查数组的前缀和, 但这个题目求的是某一区间的数组和,而且要支持批量更新某一区间内元素的值,怎么办呢?实际上, 还是可以把问题转化为求数组的前缀和. 首先,看更新操作update(s, t, d)把区间A[s]...A[t]都增加d,我们引入一个数组delta[i],表示 A[i]...A[n]的共同增量,n是数组的大小.那么update操作可以转化为: 1)令delta[s] = delta[s] + d,表示将A[s].

Luogu P3368 【模板】树状数组 2 [区间修改-单点查询]

P3368 [模板]树状数组 2 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个数. 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值. 接下来M行每行包含2或4个整数,表示一个操作,具体如下: 操作1: 格式:1 x y k 含义:将区间[x,y]内每个数加上k 操作2: 格式:2 x 含义:输出第x个数的值 输出格式: 输出

hdu 1556Color the ball (树状数组,更新区间,查询单点)

Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12566    Accepted Submission(s): 6294 Problem Description N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气

MVVM架构~knockoutjs系列之数组的$index和$data

返回目录 已经写了很多knockoutjs的文章了,今天在review代码时,忽然看到一个问题,在knockout环境下,如何遍历一个简单的数组?对于遍历对象组件的数组来说,很容易,直接foreach:对象名,然后进行属性的绑定即可,而如下数据[10,20,30]这种简单的数组,如何去遍历呢?在阅读knockout官网后,找到了答案,如下实例: <label>博主</label> <div data-bind="text:User.title">&l

将一个byte[]数组根据大小拆分为若干小byte[]数组方法

/// <summary> /// 将大数组拆分为多个小数组 /// </summary> /// <param name="superbyte">需要拆分原始数组</param> /// <param name="size">拆分后单个数组大小</param> /// <returns></returns> public List<byte[]> Split