当前位置:   article > 正文

数据结构之七大排序1—冒泡排序与堆排序_冒泡排序和堆排序

冒泡排序和堆排序

1.冒泡排序

1)数组的冒泡排序:

对一个数组做升序排序:

  1. public static void main(String[] args) {
  2. int[] arr={15,7,155,2,54};
  3. System.out.println(Arrays.toString(arr));
  4. bubbleSort(arr);
  5. System.out.println(Arrays.toString(arr));//数组转化为字符串打印出来
  6. }
  7. public static void bubbleSort(int[] arr) {
  8. for (int i = 0; i < arr.length; i++) {//比较的趟数
  9. for (int j = 0; j < arr.length-i-1; j++) {//循环进行元素的比较交换//-1是因为防止越界
  10. if(arr[j]>arr[j+1]){
  11. int tmp=arr[j];
  12. arr[j]=arr[j+1];
  13. arr[j+1]=tmp;
  14. }
  15. }
  16. }
  17. }

2)优化

1.对于外循环:最后一次不需要比较,其他的都有序了,最后一个自然有序了,所以比较的趟数:for (int i = 0; i < arr.length-1; i++)

2.对于天然有序的数组集合,或者当走着走着发现某一趟没有元素交换,即arr[j]<arr[j+1],说明此时集合已经有序&#

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

闽ICP备14008679号