swap实现Java插入排序
时间: 2023-11-05 18:03:55 浏览: 153
Java实现插入排序
以下是使用swap实现Java插入排序的示例代码:
```
public static void insertionSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
for (int j = i; j > 0; j--) {
if (arr[j] < arr[j - 1]) {
swap(arr, j, j - 1);
}
}
}
}
public static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
```
在插入排序中,我们将数组分为已排序和未排序两部分。对于每个未排序的元素,我们将其插入到已排序部分的正确位置,以此完成排序。在上面的代码中,我们使用了两个嵌套循环来实现插入排序。外部循环迭代未排序部分的元素,内部循环则从当前元素开始向前比较,直到找到正确的插入位置。
在内部循环中,我们使用了swap函数来交换两个元素的位置。如果当前元素比前一个元素小,则交换它们的位置,以此将当前元素插入到正确的位置。这个过程一直持续到当前元素被插入到已排序部分为止。
最终,当外部循环结束时,整个数组就被排序完成了。
阅读全文