Java中,交换数组中的两个元素位置

标题: 交换数组中的两个不同元素的位置

【解题核心】:在Java中,交换数组的两个元素下标位置,必须通
过引用来交换。而不能直接进行交换

【代码演示】:

public class Swap {
	public static void swap(int[] a, int i, int j) {
		int t = a[i];
		a[i] = a[j];
		a[j] = t;
	}
	  public static void main(String[] args) {
		int[] a = { 1, 2, 3, 4, 5 };
		// 交换下标 0 和 下标 3 的数据
		swap(a,0,3);//传进去数组的引用,两个下标 
		//Java中,打印数组所有元素的方法是Arrays.toString();
		//而不能直接用System.out.println(a);
		System.out.println(a);//(错误)用这个打印就是下图中的第一行
		System.out.println(Arrays.toString(a));//打印数组
		}
	}

【运行结果】:
在这里插入图片描述

选择排序是一种简单直观的排序算法。它的工作原理如下: 1. 从数组的第一个元素开始,通过遍历整个数组来找到最小(或最大)元素的下标。 2. 将找到的最小(或最大)元素与数组的第一个元素交换位置。 3. 接着从第二个元素开始,继续遍历剩下的元素,再次找到最小(或最大)元素的下标。 4. 将这个最小(或最大)元素与数组的第二个元素交换位置。 5. 重复这个过程,每次都将剩余未排序数组中的最小(或最大)元素与当前位置的元素交换,直到整个数组有序。 下面是使用Java编写的一个选择排序的示例代码: ```java public class SelectionSort { public static void selectionSort(int[] arr) { if (arr == null || arr.length <= 1) { return; } for (int i = 0; i < arr.length - 1; i++) { // 假设当前遍历到的位置是最小值的下标 int minIndex = i; // 通过遍历,找出剩余数组中的最小值的下标 for (int j = i + 1; j < arr.length; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } // 将最小值的下标对应的元素与当前位置的元素交换 if (minIndex != i) { int temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } } } public static void main(String[] args) { int[] array = {64, 25, 12, 22, 11}; selectionSort(array); for (int i = 0; i < array.length; i++) { System.out.print(array[i] + " "); } } } ``` 当你运行上述代码时,它将输出数组经过选择排序后的结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值