选择排序,谈谈我发现的亮点

2021-06-28 02:07

阅读:711

标签:...   最小值   循环   for   开始   选择   class   就是   dem   

上实例

package demoarr;
//选择排序
/**
 * 我开始以为要循环取最小值,那不是直接就可以排序了吗,还用那么麻烦吗
 * 重点是最小值与循环到的位置的互换,保证了排在前面的最小后面的不重复
 * @author chengwei
 *
 */
public class ChooseSorting {
 public static void main(String[] args) {
  int[] arr= {3,2,9,7,6,8,1,13,76,34};
  int temp;//中间值
  
  for(int i=0;i   int k=i;//为了不改变i,但能通过arr[k]改变arr[i]的值,实现arr[i]与arr[j]的比较
   for(int j=arr.length-1;j>i;j--) {
    if(arr[j]     k=j;//k值改变以后,arr[k]值也会改变,也就是if条件会改变
    }
   }
   //最小值与arr[i]的互换,i是一直递增的,还是i前面数组的顺序已定,排后面的
   temp=arr[i];
   arr[i]=arr[k];
   arr[k]=temp;
  }
  /*
   * i=0: k=0;  当j=6;(arr[6]=1)   *        当j=5;(arr[5]=8)   *    temp=arr[i]=3;arr[i]=arr[k]=arr[6]=1;arr[k]=arr[6]=3;
   * 数组变为{1,2,9,7,6,8,3,13,76,34};
   */
  for(int i=0;i   System.out.println(arr[i]);
  }
 }
}

 注意到 if(arr[j]

选择排序,谈谈我发现的亮点

标签:...   最小值   循环   for   开始   选择   class   就是   dem   

原文地址:https://www.cnblogs.com/dreamcheng/p/9650326.html


评论


亲,登录后才可以留言!