网站首页 > 精选教程 正文
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’)
- 上一篇: python经典案例:将一个数组逆序输出
- 下一篇: Java重学—进阶知识 java重点知识回顾
猜你喜欢
- 2024-11-13 面试:聊一聊 Java 数组默认的排序算法,我懵了
- 2024-11-13 golang2021数据格式(6)数组逆置 golang数组转字符串
- 2024-11-13 使用DeepClone沿数组对角线翻转180度
- 2024-11-13 深入理解 JavaScript 数组方法:从零实现 reverse 方法
- 2024-11-13 程序员面试算法题之数组[3],反转整数
- 2024-11-13 Vue短文:如何使用v-for反转数组的顺序?
- 2024-11-13 Java重学—进阶知识 java重点知识回顾
- 2024-11-13 python经典案例:将一个数组逆序输出
- 2024-11-13 shell中如何逆序打印数组的内容,或者反转一个数组?
- 2024-11-13 30-32、结构-计算机单位-数组-数组元素首尾交换_笔记
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)