JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

关于数组,你必须要知道的几大算法

wys521 2024-11-13 15:11:02 精选教程 21 ℃ 0 评论

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


数组的赋值与复制

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

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的地址值不同,它俩分别指向一个数组。


数组的反转

我们初始化一个数组

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;

}

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


冒泡排序法

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

冒泡排序法的实现原理:

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

代码实现:

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;

}


}


}

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


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

拜拜啦!(想学java微信公众号搜索‘编程小白学java’)


本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表