第六章 数组、排序和查找
2023-12-21 18:17:02
一、数组(P156)
1. 数组介绍
数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。
即:数(数据)组(一组)就是一组数据。
2. 数组的使用
2.1 使用方式1:动态初始化
数组的定义:
数据类型[] 数组名 = new 数据类型[大小];
public class Demo {
public static void main(String[] args) {
int[] a = new int[5];
}
}
数组的引用(使用/访问/获取数组元素):
数组名[下标/索引/index]
public class Demo {
public static void main(String[] args) {
int[] a = new int[5];
int b = a[0];
}
}
2.2 使用方式2:动态初始化
先 声明数组,再创建数组。
public class Demo {
public static void main(String[] args) {
int[] a;
a = new int[5];
}
}
2.3 使用方式3:静态初始化
数组的定义:
数据类型 数组名[] = {元素值,元素值…}
public class Demo {
public static void main(String[] args) {
int[] a = {1, 2, 3};
}
}
3. 数组使用注意事项和细节
(1)数组是多个相同类型数据的组合,实现对这些数据的统一管理。
(2)数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。
(3)数组创建后,如果没有赋值,有默认值。
int 0,short 0,byte 0,long 0,float 0.0,double 0.0,char \u0000,boolean false,String null
(4)数组的下标是 从 0 开始的。
(5)数组下标必须在指定范围内使用,否则报:下标越界异常。
(6)数组属引用类型,数组型数据是对象(object)。
二、排序(P172)
排序是将多个数据,依指定的顺序进行排列的过程。
排序的分类:
(1)内部排序
指将需要处理的所有数据都加载到内部存储器中进行排序。包括(交换式排序法、选择
式排序法和插入式排序法)
(2)外部排序法:
数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。包括(合并排序法
和直接合并排序法)
三、冒泡排序法
冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。
思路:
public class Demo {
public static void main(String[] args) {
int[] array = {24, 69, 80, 57, 13,100,-1};
int max;
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
max = array[j];
array[j] = array[j + 1];
array[j + 1] = max;
}
}
}
System.out.println(Arrays.toString(array));
}
}
四、二维数组(P176)
二维数组的元素是一维数组
public class Demo {
public static void main(String[] args) {
int[][] arr = {{0, 0, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 2, 0, 3, 0},
{0, 0, 0, 0, 0}};
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]);
}
System.out.println();
}
}
}
文章来源:https://blog.csdn.net/yirenyuan/article/details/135135110
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!