数组的冒泡排序,反转,复制,查找,以及工具方法

这篇博客展示了如何使用Java进行冒泡排序实现数组排序,数组反转,复制数组以及线性查找操作。还介绍了Arrays工具类的一些常用方法,包括数组的比较、输出、填充、排序和二分查找。通过示例代码详细解释了每个操作的过程和应用。
摘要由CSDN通过智能技术生成
package com.wut.exer;

import java.util.Arrays;

public class ArrayExer4 {
	public static void main(String[] args) {
		// 1. 使用冒泡排序,实现如下的数组从小到大排序。
		int[] arr = new int[] { 34, 5, 22, -98, 6, -76, 0, -3 };
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr.length - i - 1; j++) {
				if (arr[j] > arr[j + 1]) {
					int temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
				}
			}
		}
		System.out.print(Arrays.toString(arr));//[-98, -76, -3, 0, 5, 6, 22, 34]
		
		// 2.反转上述数组
		for (int i = 0; i < arr.length / 2; i++) {
			int temp = arr[i];
			arr[i] = arr[arr.length - i - 1];
			arr[arr.length - i - 1] = temp;
		}
		System.out.println(Arrays.toString(arr));//[34, 22, 6, 5, 0, -3, -76, -98]
		
		// 3.复制上述数组,得到一个新的数组
		int[] arr1 = new int[arr.length];
		for (int i = 0; i < arr.length; i++) {
			arr1[i] = arr[i];
		}
		System.out.println(Arrays.toString(arr1));//[34, 22, 6, 5, 0, -3, -76, -98]
		
		// 4.使用线性查找,从上述数组中查找22是否存在。
		// 存在,返回所在位置的索引。不存在,输出提示信息。
		int[] arr2 = new int[] { -88, 99, 84, 65, 48, 95, 87 };
		int dest = Arrays.binarySearch(arr2, 65);
		if (dest >= 0) {
			System.out.println(dest);//3
		} else {
			System.out.println("不存在");
		}
	}
}

Arrays的工具方法:判断相等、输出数组、填充、排序、查找

	// 1.boolean equals(int[] a,int[] b):判断两个数组是否相等。
	int[] arr1 = new int[] { 1, 2, 3, 4 };
	int[] arr2 = new int[] { 1, 3, 2, 4 };
	boolean isEquals = Arrays.equals(arr1, arr2);
	System.out.println(isEquals);

	// 2.String toString(int[] a):输出数组信息。
	System.out.println(Arrays.toString(arr1));

	// 3.void fill(int[] a,int val):将指定值填充到数组之中。
	Arrays.fill(arr1, 1);
	System.out.println(Arrays.toString(arr1));

	// 4.void sort(int[] a):对数组进行排序。
	Arrays.sort(arr2);
	System.out.println(Arrays.toString(arr2));

	// 5.int binarySearch(int[] a,int key)
	int[] arr3 = new int[] { -211, -34, 2, 34, 54, 66, 79, 105, 210, 333 };
	int dest = Arrays.binarySearch(arr3, 211);
	if (dest >= 0) {
		System.out.println(dest);
	} else {
		System.out.println("未找到");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值