如何将一个数组的值赋给另一个数组_关于数组,你必须要知道的几大算法

Hello!大家好,我是编程小白,又见面了。上篇我们刚学完数组,关于数组,有几大算法是你必须要知道的。话不多说,我们一起来看看吧!

b35dd592e8d70665446b009900c5e80d.png

数组的赋值与复制

首先,我们来定义两个数组

int[] array1;

int[] array2;

赋值

我们使用静态初始化来给数组1赋值

array1=int[]{1,2,3,4};

我们要想array2和array1赋一样的值,我们可以

array2=array1;

如何理解:将array1保存的数组的地址值赋给了array2,使得array1和array2共同指向堆空间中的同一个数组实体。

复制

我们使用静态初始化来给数组1赋值

array1=int[]{1,2,3,4};

我们让array2复制array1的值

array2 = new int[array1.length];

for(int i = 0;i < array2.length;i++){

array2[i] = array1[i];

};

如何理解:我们通过new的方式,给array2在堆空间中新开辟了数组的空间。将array1数组中的元素值一个一个的赋值到array2数组中。

赋值和复制的本质区别

赋值array1和array2的地址值相同,指向堆中同一个数组

复制array1的array2的地址值不同,它俩分别指向一个数组。

9e7ef229efe548edfb065fb53c5c026d.png

数组的反转

我们初始化一个数组

Int[] array=new int[]{1,2,3,4,5};

for(int i = 0;i < arr.length / 2;i++){

String temp = array[i];

array[i] = array[arr.length - i -1];

array[arr.length - i -1] = temp;

}

这样我们就将数组中的值翻转过来了。

cd5ac729cd50380e1d01d78d3464e659.gif

冒泡排序法

数组的排序是用的最多的算法了,其中最常用的就是冒泡排序法,

冒泡排序法的实现原理:

对于一组要排序的元素列,依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面,如此继续,直到比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成

代码实现:

int[] arr = new int[]{15,72,36,-8,1,24,333,-21,102,89};

for(int i = 0;i < arr.length - 1;i++){

for(int j = 0;j < arr.length - 1 - i;j++){

if(arr[j] > arr[j + 1]){

int temp = arr[j];

arr[j] = arr[j + 1];

arr[j + 1] = temp;

}

}

}

这些就是今天的内容了,大家要好好消化一下,多写几遍冒泡排序,它真的很重要。

128816348a033f01bc074506bf6dfaf7.png

本期问题:自己独立写一遍冒泡排序法(不许照抄啊)

拜拜啦!

7ed4d0e900af42be21bd9d15e64d0caf.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值