当前位置:   article > 正文

选择排序_选择排序 csdn

选择排序 csdn

选择排序:在待排序的数组中,任意指定一个数作为数组中最小的数并记录其在数组中的位置,记为a,将该数与待排序数组中的数据依次进行比较,当该数字比数组中的数字大时,将此时数组中小的数据的位置交给a,此时a位置所对应在数组中的值作为指定的最小数再次与数组中剩余的数依次进行比较;当指定的最小数与数组中的数据全部比较完之后,得到一个数组中最小的数,然后将这个最小的数排到数组的最左端,在待排序数组中排除最左端已经完成排序的数,将剩下的数作为一个数组,按一样的方式再次进行比较。

  1. package blog.csdn.net.zhaikun.arithmeticdemo;
  2. import java.util.Arrays;
  3. /**
  4. * Created by zhaikun68 on 2018/2/23.
  5. * <p>
  6. * 选择排序Demo
  7. */
  8. public class SelectionSortDemo {
  9. /**
  10. * 选择排序
  11. *
  12. * @param sortArray 待排序数组
  13. * @return 排序完成后的数组
  14. */
  15. private static int[] selectionSort(int[] sortArray) {
  16. if (sortArray == null || sortArray.length == 0) {
  17. System.out.print("待排序数组为空,不进行排序");
  18. return null;
  19. }
  20. int minIndex;//指定一个比较值在待比较数组中的下标
  21. for (int outIndex = 0; outIndex < sortArray.length - 1; outIndex++) {
  22. minIndex = outIndex;
  23. for (int inIndex = outIndex + 1; inIndex < sortArray.length; inIndex++) {
  24. if (sortArray[minIndex] > sortArray[inIndex]) {
  25. minIndex = inIndex;
  26. }
  27. }
  28. int temp = sortArray[outIndex];
  29. sortArray[outIndex] = sortArray[minIndex];
  30. sortArray[minIndex] = temp;
  31. }
  32. return sortArray;
  33. }
  34. public static void main(String[] args) {
  35. int[] initArray = {1, 1, 5, 0, 2, 2, 10, 5, 3, 6};//初始化一个需要排序的数组
  36. int[] sortAfterArray = selectionSort(initArray);
  37. System.out.print(Arrays.toString(sortAfterArray));
  38. }
  39. }

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/672395
推荐阅读
相关标签
  

闽ICP备14008679号