用JAVA的while循环写一个插入排序算法
时间: 2024-05-11 20:14:38 浏览: 126
java编写的插入排序算法
以下是使用JAVA的while循环实现插入排序算法的代码:
```
public static void insertionSort(int[] arr) {
int n = arr.length;
for (int i = 1; i < n; ++i) {
int key = arr[i];
int j = i - 1;
// Move elements of arr[0..i-1], that are
// greater than key, to one position ahead
// of their current position
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
```
在这个算法中,我们首先定义了一个数组的长度n。然后,我们使用一个for循环从数组的第二个元素开始遍历,因为第一个元素可以被认为是已排序的。在每个迭代中,我们将当前元素保存在一个变量key中,并将一个指针j设置为i-1。然后,我们使用一个while循环,将指针j向前移动,并将当前元素与已排序的子数组中的元素进行比较。如果已排序的元素比当前元素大,则将它们向右移动一个位置,直到找到一个比当前元素小的元素或到达已排序的子数组的开始位置。然后,我们将当前元素插入到正确的位置,并重复这个过程,直到所有元素都被排序。
阅读全文