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程序设计有所帮助。