java用希尔算法对数组arr:{100,95,111,83,79,99,0,211}进行排序
时间: 2023-03-19 20:23:28 浏览: 116
希尔排序是一种基于插入排序的排序算法,它通过比较一定间隔距离的元素进行插入排序,不断减小间隔距离直至为1,最终完成排序。
以下是使用 Java 语言实现希尔排序算法来对数组 arr 进行排序的示例代码:
```java
public class ShellSort {
public static void main(String[] args) {
int[] arr = {100, 95, 111, 83, 79, 99, 0, 211};
int len = arr.length;
int gap = len / 2; // 初始化间隔距离
while (gap > 0) {
for (int i = gap; i < len; i++) {
int temp = arr[i];
int j = i;
while (j >= gap && arr[j - gap] > temp) {
arr[j] = arr[j - gap];
j -= gap;
}
arr[j] = temp;
}
gap /= 2; // 缩小间隔距离
}
// 打印排序后的结果
for (int num : arr) {
System.out.print(num + " ");
}
}
}
```
运行该代码,输出结果为:
```
0 79 83 95 99 100 111 211
```
可以看到,数组 arr 已经按升序排列好了。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)