swap实现Java插入排序
时间: 2023-10-29 15:14:42 浏览: 15
以下是Java语言实现插入排序的代码,其中使用了交换(swap)操作:
```java
public static void insertionSort(int[] arr) {
int n = arr.length;
for (int i = 1; i < n; i++) {
int j = i;
while (j > 0 && arr[j] < arr[j - 1]) {
// 交换 arr[j] 和 arr[j-1]
int temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
j--;
}
}
}
```
该算法的时间复杂度为O(n^2),空间复杂度为O(1)。
相关问题
swap函数实现Java插入排序
以下是Java插入排序的swap函数实现:
```java
public static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
```
该函数接收一个整型数组arr,以及两个整数i和j作为参数。它会将arr[i]和arr[j]的值进行交换,从而实现交换操作。在Java中,数组是引用类型,因此在该函数中直接修改数组元素的值可以影响到调用该函数的代码中的数组。
Java实现swap插入排序
以下是Java实现swap插入排序的代码:
```
public static void swapInsertionSort(int[] arr) {
int n = arr.length;
for (int i = 1; i < n; i++) {
int j = i;
while (j > 0 && arr[j] < arr[j-1]) {
swap(arr, j, j-1);
j--;
}
}
}
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
```
其中,`swapInsertionSort`方法接收一个整型数组作为参数,使用swap插入排序对数组进行排序。排序过程中,从第二个元素开始,将当前元素与前面已排好序的元素依次比较并交换位置,直到找到合适的位置插入。`swap`方法用于交换数组中两个元素的位置。