精华内容
下载资源
问答
  • 互换两个相同长度数组中的值
    2021-12-31 14:34:14

    和交换元素类似,本文章权当笔记。

    #include<stdio.h>
    
    void print_arr(int* arr,int len)
    {
    	int i=0;
    	for(i=0;i<len;i++)
    		(i!=0 && i%10==0)?printf("%-2d \n",arr[i]):printf("%-2d ",arr[i]);
    	printf("\n");
    }
    
    void swap_arr(int* arr1,int* arr2,int len)
    {
    	int i=0;//指示arr1里面的下标
    	int j=0;//指示arr2里面的下标
    	int temp=0;
    	while(i<len)
    	{
    		temp=arr1[i];
    		arr1[i++]=arr2[j];
    		arr2[j++]=temp;
    	}
    }
    
    int main()
    {
    	int arr1[5]={1,2,3,4,5};
    	int arr2[5]={11,22,33,44,55};
    	int len=sizeof(arr1)/sizeof(arr1[0]);
    	
    	swap_arr(arr1,arr2,len);
    	
    	printf("交换后:\narr1[]");
    	print_arr(arr1,len);
    	
    	printf("arr2[]=");
    	print_arr(arr2,len);
    }

    更多相关内容
  • ///将数组A的内容和数组B的内容进行交换,数组A和数组B长度一致 自己敲出来挺高兴。。 void change(int a[],int b[],int length) { int tmp; for (int i = 0; i < length; i++) { tmp = a[i]; a[i] = b[i...

    思想:函数调用,借助中间变量,利用for循环实现

    ///将数组A的内容和数组B的内容进行交换,数组A和数组B长度一致 自己敲出来挺高兴。。
    #include<stdio.h>
    #include<windows.h>
    void change(int a[],int b[],int length)
    {
    	int tmp;
    	for (int i = 0; i < length; i++)
    	{
    		tmp = a[i];
    		a[i] = b[i];
    		b[i] = tmp;
    	}
    	for (int l = 0; l < length; l++)
    	{
    		printf("%d ", a[l]);   
    	}
    
    	printf("\n");   //换行显示
    
    	for (int j = 0; j < length; j++)
    	{
    		printf("%d ", b[j]);   
    	}
    
    }
    
    int main()
    {
    	int arr1[] = { 15, 64, 8, 54, 13 };  //数组大小以及元素可合理设定
    	int arr2[] = { 98, 43, 25, 84,48 };
    	int len = sizeof(arr1) / sizeof(arr1[0]);
    	change(arr1,arr2,len);
    	system("pause");
    	return 0;
    }
    

    为了展示两个数组互换后的内容,在子函数change中用两个for循环打印出数组内容。最终在控制台窗口输出结果为:
    在这里插入图片描述

    展开全文
  • JS取出两个数组中的不同或相同元素

    千次阅读 2021-07-08 17:10:20
    一、使用 concat 和 filter 取出不同的元素(取出两个数组的不同元素) var arr1 = [0,1,2,3,4,5]; var arr2 = [0,4,6,1,3,9]; function getArrDifference(arr1, arr2) { return arr1.concat(arr2).filter(function...

    一、使用 concat 和 filter 取出不同的元素(取出两个数组的不同元素)

    var arr1 = [0,1,2,3,4,5];
    var arr2 = [0,4,6,1,3,9];
    function getArrDifference(arr1, arr2) {
            return arr1.concat(arr2).filter(function(v, i, arr) {
                return arr.indexOf(v) === arr.lastIndexOf(v);
            });
        }
        console.log(getArrDifference(arr1,arr2));
     
     //输出:(4) [2, 5, 6, 9]
    

    二、使用双重for循环取出相同元素(取出两个数组的相同元素)

    var arr1 = [0,1,2,3,4,5];
    var arr2 = [0,4,6,1,3,9];
    function getArrEqual(arr1, arr2) {
        let newArr = [];
        for (let i = 0; i < arr2.length; i++) {
          for (let j = 0; j < arr1.length; j++) {
            if(arr1[j] === arr2[i]){
              newArr.push(arr1[j]);
            }
        }
       }
       return newArr;
    }
    console.log(getArrEqual(arr1, arr2));
     //输出:(4) [0, 4, 1, 3]
    

    三、使用函数方法和for循环取出不同的元素(第二个与第一个比较)

     var arr1 = [0,1,2,3,4,5];
        var arr2 = [0,4,6,1,3,9];
        //定义一个函数
        function exist(num, arr1) {
          for (var j = 0; j < arr1.length; j++) {
            if (num === arr1[j]) {
              return false; //如果传过来的元素在arr1中能找到相匹配的元素,我们返回fasle
            }
          }
          return true; //如果不能找到相匹配的元素,返回true
        }
        //这里我们将长度较长的数组放入函数中进行比较,看哪几个数不在较短的函数中,再将它们放入新的数组中
        var newArr = [];
        for (var i = 0; i < arr2.length; i++) {
          //我们将arr2中的元素依次放入函数中进行比较,然后接收函数的返回值
          if (exist(arr2[i], arr1)) { //如果返回的值是true,我们将元素放入新的数组中
            newArr[newArr.length] = arr2[i];
          }
        }
        console.log(newArr);
        //输出:(2) [6, 9]
    

    注意:这里是比较 arr2 与 arr1 的区别,如果将函数中 arr2 与 arr1 的位置互换,得到的是
    //输出:(2) [2, 5]

    展开全文
  • 利用指针对两个长度为100的数组进行数据互换。 指针 数组 字符串</p>
  • 1.数组中的类型是唯一确定的.所有元素必须一致 2.数组本身是属于引用数据类型的,但是里面的元素既可以是基本数据类型也可以是引用数据类型 3.数组的长度一旦给定就无法改变 数组的种命名格式: 1.声明类型: 数据...

    数组的概念

    概念

    :用来存储一组相同数据类型的集合
    引用数据类型:类 接口 数组

    特点:

    1.数组中的类型是唯一确定的.所有元素必须一致
    2.数组本身是属于引用数据类型的,但是里面的元素既可以是基本数据类型也可以是引用数据类型
    3.数组的长度一旦给定就无法改变

    数组的两种命名格式:

    1.声明类型:
    数据类型[] 数组名;
    数据类型 数组名;
    2.数组的动态初始化
    给定数组的长度由系统分配空间和初始值;
    3.格式:数据类型[ ] 数组名=new 数据类型[长度];
    4. 数组中的数据的存取
    5. 数组的索引:数组中元素的序号
    从0开始,最大值就是数组的长度减1
    数组的元素赋值
    数组名[索引]=赋值;
    取值为:数组名[索引值]

    数组的内存分析

    栈:存储局部变量,方法的执行,没有初始值
    堆:new出来的东西,有初始值
    注意:如果堆中没有栈中变量指向时,就会成为垃圾等待GC自动回收

    数组的静态初始化:

    静态初始化"
    给定数组中的元素,由系统根据元素个数而开辟空间并且赋值"
    格式:数据类型[] 数组名= new 数据类型[]{元素1,元素2,元素3…}
    简写的形式为:数据类型[]数组名={元素1,元素2,元素3…},注:只有第一次给元素赋值的时候可以这么写,重新给元素赋值不能这么写
    获取数组的长度:数组名.length

    数组中常见的两种异常:

    第一种:空指针异常:java.lang.NullPointerException null调用里面的东西
    第二种:数组角标越界异常:java.lang.ArrayIndexOutOfBoundsException 索引超出了最大范围

    数组的案例:

    点名系统: 从班级所有人的姓名中随机抽选出来一个

    •  1. 构建一个String[] 用来存储全班同学的姓名
      
    •  2. 生成一个随机数,作为索引值,从数组从把该索引对应的元素取出来
      
    • a. 如何生成一个随机数
    •  1. 创建对象
      
    •  	Random 对象名 = new Random();(导包)
      
    •  2. 生成随机数:
      
    •  	对象名.nextInt(int bound);//bound: 范围  
      
    •  				nextInt(10);// [0,10)
      

    代码块:
    public class TextDemo22 {
    public static void main(String[] args) {
    String[] st = {“张晓小”, “丁行行”, “靳栋”, “杨志远”, “胡辣汤”, “牛肉面”, “新疆盖饭”, “回锅肉”, “葱爆羊肉”};

        for (int j = 0; j <st.length ; j++) {
            Random rd = new Random();
            int i = rd.nextInt(st.length);//表示生产随机数的范围,一般指的是数组的边界
            
            System.out.println(st[i]);
        }
    }
    

    }

    数组的遍历:

    案例, 打印出来的形式为
    [1,2,3,4,5,6,7]

    数组的逆序

    //数组的逆序
    //思路:数组的逆序就是第一个元素和最后一个元素互换位置,第二个元素与倒数第二个元素的互换位置,以次类推
    public class TestDemo44 {
    public static void main(String[] args) {
    int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    System.out.println(“逆序之前的数组为:”);
    ArrayUtil.arrprint(arr);
    int temp=0;
    for (int i = 0; i <arr.length-1 ; i++) {
    temp=arr[i];
    arr[i]=arr[arr.length-1-i];
    arr[arr.length-1-i]=temp;
    }
    System.out.println(“逆序之后的数组为:”);
    ArrayUtil.arrprint(arr);

    }
    

    }

    数组中两个元素的互换位置

    代码:
    //将数组中的两个元素互换位置
    public class TextDemo4 {
    public static void main(String[] args) {
    int[] ints = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

        System.out.println("请输入两个你要互换位置的索引");
        System.out.println("请输入第一个你要互换元素位置的索引号");
        Scanner sc = new Scanner(System.in);
        int i = sc.nextInt();
        System.out.println("请输入第二个你要互换位置的索引号");
        int j = sc.nextInt();
        int temp=0;
        if (i < 0||i>ints.length-1||j<0||j>ints.length-1) {
            System.out.println("超出索引范围,退出程序");
        }else{
            System.out.println("交换前的数组为");
            ArrayUtil.arrprint(ints);
            temp=ints[i];
            ints[i]=ints[j];
            ints[j]=temp;
            System.out.println("两个元素交换后的顺序为");
            ArrayUtil.arrprint(ints);
        }
    
    }
    

    }

    数组打印类型的封装

    public class TextDemo33 {
    public static void main(String[] args) {
    int[] ints = {1, 2, 3, 4, 5, 6, 7};
    // ArrayUtil.getMaxAndMin(ints);
    System.out.print("[");
    for (int i = 0; i <ints.length; i++) {
    if (i == ints.length-1) {
    System.out.print(ints[i]+"]");
    }else{
    System.out.print(ints[i]+", ");
    }
    }

    }
    

    }

    展开全文
  • 两个数组值相互交换

    2019-09-22 16:59:16
    这是两个数组相同长的情况下,其中的数于数交换类似于我之前写的两个数交换。 #include<stdio.h> int main() { int a[] = { 1, 2, 3 }; int b[] = { 4, 5, 6 }; int i,j; int c=sizeof(a)/sizeof(a...
  • 如题,要求编写函数Switch(char⃣️s1,char⃣️s2)
  • Java 给定两个整型数组, 交换两个数组的内容(数组长度相同) 主要思想: 遍历两个数组,然后交换对应位置的 程序代码: import java.util.Arrays; public class TestDemo { public static void swap(int[] ...
  • J01-JAVA交换两个数组

    2021-04-12 16:41:18
    最近在JAVA实现对两个数组进行交换时遇到了一点问题,而这个问题让我对JAVA的参数传递有了更深刻的理解。 一、JAVA参数传递 JAVA的参数传递究竟是传递还是引用?——答案是传递。 Java 语言的参数传递只有...
  • 已知在一维数组[m+n]中依次存放两个线性表(a1,a2,…,am)和(b1,b2,…,bn),现要将这两个顺序表位置互换。 本题也可以理解为要将数组中的元素序列循环左移m个位置。
  • //js数组的元素上移和下移动 var fieldData=[ {name:'id',value:'ID'} , {name:'username',value:'用户名'} , {name:'email',value:'邮箱'} , {name:'sex',value:'性别'} , {name:'city',value:'城市'} ...
  • 方法一:将两个数组的对应元素,一一交换一遍就可以了,但是这两个数组长度必须是一样长的,否则就没法交换了。 package ChangeTwoArray; public class ChangeTwoArray { public void ChangeTwoArray(int[] a,int...
  • 题目:已知一维数组A[m+n]中依次存放两个线性表A和B(AB),试编写一个函数,将数组中两个顺序表的位置互换,即B和A(BA)。 此算法涉及基本逆序操作,可参考“数据结构笔记3” //将在同一数组中存放的两个顺序表的...
  • 4. 寻找两个正序数组位数 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组位数 。 参考思路: https://www.bilibili.com/video/BV1H5411c7oC ''' class ...
  • 数组元素的首尾互换

    千次阅读 2018-12-23 19:33:24
    对用户输入的数字进行首尾互换 import java.lang.reflect.Array; import java.util.Scanner; public class Text_4 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out....
  • 思路:以中间元素为中心,将其两侧对称的元素的值互换 */ #include <stdio.h> #define size 8 int main() { int arr[size] = { 18,11,9,6,4,3,2,1 }; // 数组长度size=8 for (int i = 0;i < size/2;i++...
  • Java编程定义一数组,把这个数组中所有的元素顺序颠倒
  • 数组A和数组B一样大,将两个数据的内容进行交换。在main函数外编写swap函数进行两个数组内容的交换,再在主函数调用它可实现两个数组的内容交换。代码如下:#include void swap(int arr1[],int arr2[],int ...
  • 思路: 就是把要插入的数,放入数组的末尾,然后再重新排序就可以了。 直接上代码。 #include ...//定义一个中间变量来使两个元素互换 a[j]=a[j+1]; a[j+1]=temp; } } } } int main
  • 试编写一个函数,将数组中两个顺序表的位置互换,即将(b1,b2,b3,……,bn)放在(a1,a2,a3,……,am)的前面。 算法思想 ①先把(a1,a2,a3,……,am)逆序为(am,……,a3,a2,a1); ②再把(b1,b2,b3,……,bn)逆序为(bn,……,b3...
  • 二维数组行列互换

    千次阅读 2020-05-02 12:42:44
    将一个二维数组的行和列元素互换,存放到另一个二维数组中。 输入要求 第一行输入两个整数m和n分别表示二维数组的行数和列数(均不超过20)。 下一行输入该二维数组的各个元素。 输出要求 输出行列变换后的数组。 ...
  • int b[10]在c,在几乎所有使用数组名的表达式数组名的是一指针常量,也就是数组第1元素的地址(要注意数组名在这里指的是一地址)。它的类型取决于数组元素的类型:如果它们是int类型, 那么数组名的...
  • 根据部分题解,我以为这道题主要是考察单调栈,分别从两个数组中找出各自最大的单调队列,然后将两个单调递减合并就可以得到结果。 首先,我的思路是:先将两个数组进行合并成为一个大的数组,然后从中删除num1....
  • 一、两个元素换位子 function swapArr(arr, index1, index2) { arr[index1] = arr.splice(index2, 1, arr[index1])[0]; return arr; } 二、置顶移动 function toFirst(fieldData,index) { if(index...
  • 将一个二维数组的行和列元素互换,存放到另一个二维数组中。 输入要求 第一行输入两个整数m和n分别表示二维数组的行数和列数(均不超过20)。 下一行输入该二维数组的各个元素。 输出要求 输出行列...
  • 二维数组元素互换

    千次阅读 2018-11-13 17:08:18
    //定义数组,并给元素赋值 int b[3][2],i,j;//定义数组和变量 printf("array a:\n"); for(i=0;i&lt;2;i++)//数组a的行数共2行,循环2次 { for(j=0;j&lt;3;j++)//3列,循...
  • Java基础--数组练习2

    2022-07-25 21:17:16
    Java基础之数组练习第二弹!!!
  • 2、通过参数传入数组长度,方法执行后返回赋值后的数组 3、 通过 (int)(Math.random() * 100) 生成 100 以内的随机数 Math 类是用于进行算术操作的类,Math.random() 生成 0–1 的浮点数。 //导入java.util.Arrays...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,675
精华内容 10,270
热门标签
关键字:

互换两个相同长度数组中的值