您的位置:首页 > 编程语言 > Java开发

java实现渊子赛马算法

2013-04-12 17:07 295 查看
自己写的一个渊子赛马算法,感觉代码还是很冗余,还有就是排序算法用的是最简单的选择排序,大鸟们有没有更好的算法。

 

package yuan_zi_sai_ma;

import share.*;

//算法题 渊子赛马   运用排序、归并、贪心

 

public class SaiMa {

// exchange ex = new exchange();

 int i,j,k,n,temp;

 public int Compare(int[]a,int[]b ){

  minSort(a);

  minSort(b);

  k = a.length - 1;

  n = 0;

        for(i = a.length - 1 ; i >= 0; i--){

         for(j = k;j >= 0 ; j--){

          if(a[i] > b[j] ){ 

           k = j;

           n++;

           break;

          }

         }

        } 

   return n;

 }

 

 //选择排序

 static void minSort(int[]a){

  int i,j,temp;

  int selected = 0;

  for(i = 0; i<a.length ; i++){

   selected = i;

   for(j = i+1;j <a.length;j++)

   {

    if(a[j] < a[selected]){

    selected = j;

    }

   }

   temp = a[selected];

   a[selected] = a[i];

   a[i] = temp;

  } 

 }

}

package share

package share;

public class exchange {

 int temp = 0;

 public exchange(int a,int b){

  temp = b;

  b = a;

  a = temp;

 }

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法