新手请教,数组合并

问题描述

int数组A{5,6,9},数组B{5,6,8}我想得到数组temp为{5,6,8,9}该怎么操作呢?谢谢

解决方案

解决方案二:
int[]first=newint[]{5,6,9};int[]second=newint[]{5,6,8};vartemp=first.Union(second).OrderBy(p=>p);

解决方案三:
int[]a=newint[]{5,6,9};int[]b=newint[]{5,6,8};int[]temp=a.Concat(b).Distinct().OrderBy(i=>i).ToArray();

解决方案四:
a.Concat(b).Distinct();
解决方案五:
数组合并之在数组中添加一个数组//向一维数组中添加一个数组//<paramname="ArrayBorn">源数组</param>//<paramname="ArrayAdd">要添加的数组</param>//<paramname="Index">添加索引</param>//<returns>新得到的数组</returns>staticint[]AddArray(int[]ArrayBorn,int[]ArrayAdd,intIndex){if(Index>=(ArrayBorn.Length))//判断添加索引是否大于数组的长度Index=ArrayBorn.Length-1;//将添加索引设置为数组的最大索引int[]TemArray=newint[ArrayBorn.Length+ArrayAdd.Length];//声明一个新的数组for(inti=0;i<TemArray.Length;i++)//遍历新数组的元素{if(Index>=0)//判断添加索引是否大于等于0{if(i<(Index+1))//判断遍历到的索引是否小于添加索引加1TemArray[i]=ArrayBorn[i];//交换元素值elseif(i==(Index+1))//判断遍历到的索引是否等于添加索引加1{for(intj=0;j<ArrayAdd.Length;j++)//遍历要添加的数组TemArray[i+j]=ArrayAdd[j];//为遍历到的索引设置添加值i=i+ArrayAdd.Length-1;//将遍历索引设置为要添加数组的索引最大值}//CodeGo.net/elseTemArray[i]=ArrayBorn[i-ArrayAdd.Length];//交换元素值}else{if(i==0)//判断遍历到的索引是否为0{for(intj=0;j<ArrayAdd.Length;j++)//遍历要添加的数组TemArray[i+j]=ArrayAdd[j];//为遍历到的索引设置添加值i=i+ArrayAdd.Length-1;//将遍历索引设置为要添加数组的索引最大值}elseTemArray[i]=ArrayBorn[i-ArrayAdd.Length];//交换元素值}}returnTemArray;//返回添加数组后的新数组}
解决方案六:
引用1楼duanzi_peng的回复:

int[]first=newint[]{5,6,9};int[]second=newint[]{5,6,8};vartemp=first.Union(second).OrderBy(p=>p);

这个就可以,没必要Concat再Distinct,Union就是去重复的。

时间: 2024-10-31 18:02:00

新手请教,数组合并的相关文章

新手请教数组问题~!!

问题描述 刚刚学到数组,怎么样才能在以下二维数组中找出横向的最大数,竖向最大数,x方向的最大数,在二维数组中最大的数intarray[][]={{96,90,56,10},{102,78,87,45},{23,98,45,78},{10,45,78,345}}; 解决方案 解决方案二:循环遍历啊解决方案三:???我比较菜,听不懂你说的~~解决方案四:能写给我看看么?解决方案五:你所说的最大数是且的关系,还是或的关系叻解决方案六:分别显示出来的那种解决方案七:横向的最大数,竖向最大数,x方向的最大

java数组-Java新手请教各位大神

问题描述 Java新手请教各位大神 如何通过Scanner类往一个arraylist中添加数据?也就是如何从键盘往一个链表中添加数据? 解决方案 public class Test01 { public static void main(String[] args) { List<String> list = new ArrayList<String>(); Scanner Scan = new Scanner(System.in); System.out.println(&quo

新手请教一个c的问题,关于指针赋初始值

问题描述 新手请教一个c的问题,关于指针赋初始值 #includeint main(){ char *p=NULL; scanf(""%s""p); printf(""%s""p); return 0;}这段代码我在ios的终端下运行就提示Segmentation fault:11但是不给p赋初值的话..改称char *p;反而好使了..为什么...请教别人说是编译器的问题.能不能稍微详细的说一下为什么.. 解决方案 要先弄清

二分查找-新手请教,自学java,请大家多多指教

问题描述 新手请教,自学java,请大家多多指教 java.lang.NoSuchMethodError: main Exception in thread "main" 这是学习一维数组时出现的问题,代码如下: //逐步实现二分查找法,出错 public class Study2{ // public static void main(String[] args){ public static int binarySearch(int[] list,int key){ int low

android 导航栏-新手请教android底部导航栏问题

问题描述 新手请教android底部导航栏问题 andriod底部导航栏每当移到第一个时就报错,出现空指针异常,希望哪位大神能指教一下,到底哪错了 错误信息: 09-29 22:09:21.098: E/AndroidRuntime(863): java.lang.NullPointerException 09-29 22:09:21.098: E/AndroidRuntime(863): at com.example.producer.MainActivity$MyOnPageChangeLi

php下将多个数组合并成一个数组的方法与实例代码

1.合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组.所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加.其形式为: 复制代码 代码如下: array array_merge (array array1 array2-,arrayN) 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面.返回作为结果的数组. 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值.然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,

php中如何把多个数组合并为一个数组

array_merge() 函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 例如: $news=M('news'); $sql="select count(a.news_id) as count_news,a.menu_id,b.pid from news a left join menu b on a.menu_id=b.menu_id where a.is_pass=0 group

php数组合并与拆分实例分析

 本文实例讲述了php数组合并与拆分的方法.分享给大家供大家参考.具体如下: 1 2 3 4 5 6 7 8 <?php $array1 = array("A","B","C","D"); $array2 = array("1","2","3","4"); $array3 = array("!","@"

php数组合并的二种方法

 这篇文章主要介绍了php数组合并的二种方法,同时讲了用加号和用array_merge合并数组的区别,需要的朋友可以参考下 我们首先给出两个数组   代码如下: <?php    $r = array(1,2,3,4,5,6);    $e = array(7,8,9,10);   ?>      下面我们用array_merge和加号来何必这两数组    代码如下: <?php   print_r($r+e); // 输出<span style="font-family