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;
}
}
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;
}
}
相关文章推荐
- Java实现的RSA加密解密算法示例
- 待更新·优化问题求解算法实现方法·Java版
- 【LeetCode-面试算法经典-Java实现】【070-Set Matrix Zeroes(矩阵置零)】
- java实现的18位身份证格式验证算法
- 操作系统进程调度算法(Java 实现)
- 背包算法(Java 实现)
- 最短路径A*算法原理及java代码实现(看不懂是我的失败)
- 【算法】红黑树的核心代码实现(java版)
- 取名算法之用JAVA实现汉字五行笔画查询
- 8皇后以及N皇后算法探究,回溯算法的JAVA实现,非递归,数据结构“栈”实现
- java实现最大子序列问题——————性能最优的算法
- java DES加密,解密算法实现
- 算法入门---java语言实现的插入排序小结
- 线性同余算法以及java中随机数的实现分析
- 【LeetCode-面试算法经典-Java实现】【029-Divide Two Integers(两个整数相除)】
- 修正单纯形法·优化算法实现·Java
- 【算法】哈希摘要算法,CRC冗余算法,MD摘要算法,纯JAVA基本数据类型代码实现,面向对象
- 克鲁斯卡尔(Kruskal)算法 Java实现
- 数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(上)