Advertisement
Guest User

Untitled

a guest
May 19th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. package A2查找与排序;
  2.  
  3. import java.util.Arrays;
  4.  
  5. public class b7思维很重要_希尔排序 {
  6. public static void main(String[] args) {
  7. int[] arr = {9, 3, 6, 7, 5, 4, 2, 1,9, 3, 6, 7, 5, 4, 2, 1,9, 3, 6, 7, 5, 4, 2, 1,9, 3, 6, 7, 5, 4, 2, 1};
  8. shellSort(arr);
  9. System.out.println(Arrays.toString(arr));
  10. }
  11.  
  12. static void shellSort(int[] arr) {
  13. //不断的缩小增加量
  14. for (int interval = arr.length / 2; interval > 0; interval/=2) {
  15. for (int i = interval; i < arr.length; i++) {
  16. int target = arr[i];//后面的数字
  17. int j = i - interval;//前面的数字
  18. while (j > -1 && target < arr[j])//后面数字小于前面的数字 交换 小在钱 大在后
  19. {
  20. arr[j + interval] = arr[j];
  21. j -= interval;
  22. }
  23. arr[j + interval] = target;//while成功 则直接交换 反之不换
  24. //*******
  25.  
  26. }
  27. }
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement