A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© doevents 中级黑马   /  2013-9-12 20:27  /  876 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

排序算法大家熟悉的有冒泡排序,选择排序,插入排序,归并排序,快排等,最近复习了下排序,自个写了个选择排序,并对其做了优化,代码如下
public class SelectSort {
public static void main(String[] args) {
  int[] arr={2,4,6,7,3,5,1,9,8};
  print(arr);
  select(arr);
  print(arr);
}
//定义输出方法
private static void print(int[] arr) {
  for(int i=0;i<arr.length;i++) {
   System.out.print(arr+" ");
  }
   System.out.println();
}
//定义排序方法
private static void select(int[] arr) {
  int k,temp;
  for(int i=0;i<arr.length;i++) {
    k=i;
   for(int j=k+1;j<arr.length;j++) {
    if(arr[j]<arr[k]) { //当a[j]<arr[k]就将j的值赋值给k
     k=j;
    }
   }
    if(k!=i) { //当不相等的时候,就交换。
     temp=arr;
     arr=arr[k];
     arr[k]=temp;
    }
  }
}
}
这就是优化后的选择排序,供大家参考,希望大家互相学习{:soso_e100:}

2 个回复

倒序浏览
学习学习!
回复 使用道具 举报
private static void select(int[] arr) {
  int temp;
  for(int i=0;i<arr.length-1;i++) {
        for(int j=i+1;j<arr.length;j++) {
              if(arr[j]<arr[i) {
                 
temp=arr;
                 arr=arr[j];
                arr[j]=temp;

          }
   }

     

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马