7.6笔记(数组,Arrays,方法的重载,冒泡排序思路)

本文介绍了Java中数组的动态和静态初始化,强调了数组下标的使用规则,并讲解了Arrays工具类的常用方法,如打印数组、排序和数组复制。此外,还详细阐述了冒泡排序算法的工作原理及其优化策略,帮助读者深入理解数组操作和简单排序算法。
摘要由CSDN通过智能技术生成

数组

数组的定义

1.动态初始化

int[] a = new int[5]:

不需要指定元素,指定的是元素的个数

--

2.静态初始化

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

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

通过数组的下标来操作数组中的元素

数组的下表从0开始,最大下标=数组的长度-1

=========================================================================

Arrays

Arrays.toString(数组名)打印非char类型数组

查看数组具体元素时,需要使用

Arrays.sort(数组名)用于直接给数组中的元素排序

影响的是传入的这个数组,直接更改这个数组中元素的顺序

Arrays.copyof(原数组名,新数组长度)用于数组的复制,有两个参数

该方法不会修改原数组,创建的是指定长度的新数组

缩容/扩容:先创建长度固定的新数组

然后按照个数从原数组中复制数据,超出的部分会被清除,不足的位置还是对应类型的默认值

Arrays.copyOfRange(数组名,初始下标,结束下标)从中间复制

=========================================================================

方法的重载

在一个类中,存在方法名相同,但参数列表不同的方法

如果参数个数相同,看对应位置参数的类型,与参数名无关

当参数个数不同时,一定构成重载

=========================================================================

冒泡排序思路

1.如果有n个数,最多比较n-1轮

2.每一轮从头开始,把所有数据狗过一遍

3.之前轮中比较出来的最大值不参与下一轮比较

优化思路:

1.内存循环的循环次数用数组长度减去外层循环次数,从而排除之前比较出的最大值

2.数据不够乱时,使用一个bool值来作为信号量,初始赋值false

在内存循环的数据交换时,将信号量改变,并在循环结束时检测信号量

若信号量发生变化,则说明本轮数据发生过变化,仍然需要比较下一轮

若信号量不变,则说明已经排序完成,使用break跳出循环或return来返回结果结束循环


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值