zoukankan      html  css  js  c++  java
  • 关于冒泡排序与选择排序

        冒泡排序是最早接触的排序方法了,思路也很简单,两层循环,相邻数比较,小的上升大的下沉。

        至于选择排序,思路上与插入排序有些类似,不过比较的范围变成了从当前数i到n-1,找出其中最小的数,记下下标,在外层循环中完成一次交换。不过在交换之前需要加一个大小比较的判定,这样在某种程度上就节省了成本。

        BubbleSort:

     1         final int[] arr={57,68,59,52};
     2         for(int i=0;i<arr.length;i++){
     3             /*此处需要-1的原因是,内层比较是当前数与后一个数的比较,如果内层循环可以到最后一个数,那么就会出现数组越界Exception*/
     4             for(int j=i;j<arr.length-i-1;j++){
     5                 if(arr[j]>arr[j+1]){
     6                     int temp;
     7                     temp=arr[j+1];
     8                     arr[j+1]=arr[j];
     9                     arr[j]=temp;
    10                 }
    11             }
    12         }

         SelectionSort:

     1         int[] arr={57,68,59,52};
     2         
     3         for(int i=0;i<arr.length;i++){
     4             int minIndex=i;
     5             for(int j=i+1;j<arr.length;j++){
     6                 if(arr[j]<arr[minIndex])
     7                     minIndex=j;
     8             }
     9             /*交换之前需要添加一个比较的验证过程*/
    10             if(arr[i]>arr[minIndex]){
    11                 int temp;
    12                 temp=arr[minIndex];
    13                 arr[minIndex]=arr[i];
    14                 arr[i]=temp;
    15             }
    16 
    17         }
    我不断的寻找
  • 相关阅读:
    %
    【收藏】Javascript调用后台代码的方法
    C++Builder2010中配置OpenCV2.2
    【收藏】Visual studio 2008 && 2010 快捷键大全
    队列的练习
    哈希表
    poj 3750 链表
    C/C++内存存储 mark在此
    二叉树,深搜,广搜
    链表的练习
  • 原文地址:https://www.cnblogs.com/yNds/p/4316692.html
Copyright © 2011-2022 走看看