ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【算法-希尔】 [打印本页]

作者: 用多少眼泪才能让你相信    时间: 2024-9-2 14:47
标题: 【算法-希尔】
定义

希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序黑白稳定排序算法。
希尔排序是基于插入排序的以下两点性子而提出改进方法的:

希尔排序的基本思想是:先将整个待排序的记载序列分割成为若干子序列分别举行直接插入排序,待整个序列中的记载“基本有序”时,再对全体记载举行依次直接插入排序。
特点


算法步调

代码

  1. public class ShellSort {
  2.     public static void shellSort(int[] arr) {
  3.         int n = arr.length;
  4.         // 初始gap为数组长度的一半,逐步缩小gap
  5.         for (int gap = n / 2; gap > 0; gap /= 2) {
  6.             // 对每个子序列进行插入排序
  7.             for (int i = gap; i < n; i++) {
  8.                 int temp = arr[i];
  9.                 int j;
  10.                 // 在子序列中进行插入排序
  11.                 for (j = i; j >= gap && arr[j - gap] > temp; j -= gap) {
  12.                     arr[j] = arr[j - gap];
  13.                 }
  14.                 // 将temp放在正确的位置
  15.                 arr[j] = temp;
  16.             }
  17.         }
  18.     }
  19.     public static void main(String[] args) {
  20.         int[] arr = {12, 34, 54, 2, 3,1,6,40};
  21.         shellSort(arr);
  22.         System.out.println("排序后的数组:");
  23.         for (int num : arr) {
  24.             System.out.print(num + " ");
  25.         }
  26.     }
  27. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4