希尔排序实现

xiaoxiao2025-08-23  119

public static void shellSort(int[] arr, int i) { //定义退出界限,当间隔等于0的时候就返回 if (i == 0) return; //定义当前数组左边界 int left = 0; //当数组的左边界加上间隔值不越界的时候,进行下面的循环。 while (left + i < arr.length) { //插入排序 for(int m=left;m<left+i;m++){ for(int n=m+1;n>left;n--){ if(arr[n]<arr[n-1]){ int temp=arr[n]; arr[n]=arr[n-1]; arr[n-1]=temp; } else{ break; } } } //左边界加一,继续循环 left++; } //进行下一个增量的排序 shellSort(arr,i/2); }

 

转载请注明原文地址: https://www.6miu.com/read-5035179.html

最新回复(0)