java实现的海盗算法优化版
本文实例讲述了java实现的海盗算法。分享给大家供大家参考,具体如下:
前面介绍了《C#实现的海盗分金算法》,这里再给出一个Java优化版的算法:
packageunit4;
publicclassPirate{
privateStringname;
privateint[]schemes;
privateintindex;
publicPirate(intt,inti){
name="unknow";
index=i;
schemes=makeSchemes(t);
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetIndex(){returnindex;}
publicint[]getSchemes(){returnschemes;}
publicinthandvote(inttable[]){
returnmyhandvote(table,index);
}
privateintmyhandvote(int[]t,inti){
if(t[i]==0)return0;
if(i==1)return0;
return1;
}
publicint[]makeSchemes(intt){
intvote=0;
schemes=newint[t-index];
do{
for(inti=0;it/2));
returnschemes;
}
}
packageunit4;
publicclassJudger{
int[]allot;
Pirate[]pirates;
publicJudger(Pirate[]pirates,int[]a){
this.pirates=pirates;
allot=a;
}
publicint[]getAllot(){
returnallot;
}
publicvoidsetAllot(int[]allot){
this.allot=allot;
}
publicPirate[]getPirates(){
returnpirates;
}
publicvoidsetPirates(Pirate[]pirates){
this.pirates=pirates;
}
publicbooleanevaluate(){
intvote=0;
for(inti=0;i=pirates.length)returntrue;
elsereturnfalse;
}
}
packageunit4;
publicclassMaxInterest{
publicstaticvoidmain(String[]args){
intpiratecounts=5;
Pirate[]pirates=newPirate[piratecounts];
for(inti=0;i
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。