为什么不能运行这段代码public class test069 { public static void swap(int[] arr, int i, int j) { if (i != j) { arr[i] = arr[i] ^ arr[j]; arr[j] = arr[i] ^ arr[j]; arr[i] = arr[i] ^ arr[j]; System.out.println(i +","+j); } } }
时间: 2023-05-31 11:06:36 浏览: 121
这段代码存在语法错误,应该在System.out.println语句中添加加号连接i和j,正确的代码如下:
public class test069 {
public static void swap(int[] arr, int i, int j) {
if (i != j) {
arr[i] = arr[i] ^ arr[j];
arr[j] = arr[i] ^ arr[j];
arr[i] = arr[i] ^ arr[j];
System.out.println(i + "," + j);
}
}
}
此外,这段代码只是一个交换数组中两个元素的函数,需要在其他程序中调用才能实现交换功能。
相关问题
冒泡排序JAVA代码
冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。这个过程就像气泡一样从底部往上升。以下是使用Java编写的一个基本冒泡排序的例子:
```java
public class BubbleSort {
void bubbleSort(int arr[]) {
int n = arr.length;
for (int i = 0; i < n-1; i++) {
// Last i elements are already in place
for (int j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// Swap arr[j+1] and arr[j]
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
// Test the code
public static void main(String args[]) {
BubbleSort bs = new BubbleSort();
int arr[] = {64, 34, 25, 12, 22, 11, 90};
System.out.println("Original array:");
for (int value : arr) {
System.out.print(value + " ");
}
bs.bubbleSort(arr);
System.out.println("\nSorted array:");
for (int value : arr) {
System.out.print(value + " ");
}
}
}
```
在这个代码里,`bubbleSort`方法接受一个整型数组作为输入,并通过两层循环来进行排序。内部循环检查相邻的元素,如果它们的顺序不对就交换位置。外部循环控制整个排序过程。
选择排序代码Java
选择排序是一种简单直观的排序算法,它的基本思想是在待排序序列中找到最小(或最大)元素,将其放在序列的起始位置,然后继续寻找剩余部分的最小值,放到已排序序列的末尾,直到全部元素有序。以下是Java语言中实现选择排序的一个例子:
```java
public class SelectionSort {
void selectionSort(int arr[]) {
int n = arr.length;
// One by one move boundary of unsorted subarray
for (int i = 0; i < n - 1; i++) {
// Find the minimum element in unsorted array
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j; // Update index of minimum element
}
}
// Swap the found minimum element with the first element of
// unsorted part
swap(arr, i, minIndex);
}
}
// Method to swap two elements in an array
void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
// Test the function
public static void main(String args[]) {
SelectionSort ss = new SelectionSort();
int arr[] = {64, 25, 12, 22, 11};
System.out.println("Original array:");
for (int value : arr) {
System.out.print(value + " ");
}
ss.selectionSort(arr);
System.out.println("\nSorted array:");
for (int value : arr) {
System.out.print(value + " ");
}
}
}
```
在这个代码中,`selectionSort`函数完成了选择排序的过程,通过嵌套循环分别找出未排序部分的最小值并交换到开始位置。`swap`方法则用于实际的元素交换。
阅读全文