黑马程序员技术交流社区

标题: 选择排序 [打印本页]

作者: fenger7    时间: 2015-10-19 20:18
标题: 选择排序
//文件名:Exam12.java
import java.io.*;
public class Exam12 //定义类名
{
  //选择排序(从小到大)
  static void select(int num[],int count)
  {
     int tmp;
     int midIndex;//用于记住最小值下标
     for(int i=0;i<count;i++)
     {
       midIndex=i;//每次都假设i所在位置的元素是最小的
       for(int j=i+1;j<count;j++)
       //j从i+1开始,i之前的都已排好,而i是本次的第一个元素
       {
          if(num[midIndex]>num[j])
               midIndex=j;
        }
       //把当前最小元素跟前面第i个元素交换
       if(midIndex!=i)
        {
           tmp=num[i];
           num[i]=num[midIndex];
           num[midIndex]=tmp;
         }
       }
   }
  //输出数组的元素值
  //num:待输出的数组
  //count:元素个数
  static void printArray(int num[],int count)
  {
     for(int i=0;i<count;i++)
     {
        System.out.print(num[i]+" ");
      }
      System.out.println();
   }
   public static void main(String[] args)
   //主方法,程序从这里开始执行
   {
     int values[]={2,5,1,4,3};
     int count=values.length;
     select(values,count);
     printArray(values,values.length);
    }
}
作者: C威    时间: 2015-10-19 21:30
for循环,嵌套一个for循环,然后再来一个if语句,就OK 了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2