首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

数组的赋值与复制

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

int[] array1;

int[] array2;

赋值

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

array1=int[];

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

array2=array1;

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

复制

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

array1=int[];

我们让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[];

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

Stringtemp =array[i];

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

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

}

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

冒泡排序法

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

冒泡排序法的实现原理:

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

代码实现:

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

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

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

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

inttemp = arr[j];

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

arr[j + 1] = temp;

}

}

}

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

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

拜拜啦!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201111A0DNZT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券