javascript使用指针操作实现约瑟夫问题实例

javascript使用指针操作实现约瑟夫问题实例

ID:31631266

大小:65.31 KB

页数:8页

时间:2019-01-16

javascript使用指针操作实现约瑟夫问题实例_第1页
javascript使用指针操作实现约瑟夫问题实例_第2页
javascript使用指针操作实现约瑟夫问题实例_第3页
javascript使用指针操作实现约瑟夫问题实例_第4页
javascript使用指针操作实现约瑟夫问题实例_第5页
资源描述:

《javascript使用指针操作实现约瑟夫问题实例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、JavaScript使用指针操作实现约瑟夫问题实例实现之前当然要自己来编写一些JS数组内部指针的操reset(),current(),next(),prev(),search(),end()这些函数,我们都要来自己实现,因为JS没有内置这些神奇的操作函数Array,prototype.pointer=0;//模拟数组内部指针//Reset函数,将数组内部指针归位(指向第一个元素)varreset=funotion(arrayObj){if(!(arrayObjinstanceofArray)){alert("

2、Reset()函数参数类型错误!请检查输入!〃);return;arrayObj・pointer=0;}//Current函数,返回数组内部指针指向的当前元素varcurrent=function(arrayObj){if(!(arrayObjinstanceofArray)){请检查输入!alert(〃Current()函数参数类型错误!〃);return;returnarrayObj[arrayObj・pointer];//End函数,将数组内部指针指向最后一个元素varend=function(arra

3、yObj){if(!(arrayObjinstanceofArray)){alert(〃End()函数参数类型错误!请检查输入!〃);return;arrayObj.pointer=arrayObj.length—l;returnarrayObj[arrayObj.pointer];}//Next函数,将数组内部指针下移一位//如果已经指向最后一个元素则返回FALSEvarnext二function(arrayObj){if(!(arrayObjinstanceofArray)){alert("Next()函

4、数参数类型错误请检查输入!〃);return;arrayObj.pointer++;if(typeofarrayObj[arrayObj.pointeundefined,){arrayObj.pointerreturnfalse;returntrue;}//Prev函数,将数组内部指针上移一位〃如果已经指向第一个元素则返回FALSEvarprev=function(arrayObj){if(!(arrayObjinstanceofArray)){alert(〃Prev()函数参数类型错误!请检查输入!retu

5、rn;}arrayObj・pointer一;if(typeofarrayObj[arrayObj.pointer]==,undefined'){arrayObj・pointer++;returnfalse;}returnarrayObj[arrayObj.pointer];}//Unset函数,删除指定的数组元素varunset=function(index,arrayObj){if(!(arrayObjinstanceofArray)){alert(Z/Unset()函数参数类型错误!请检查输入!〃);re

6、turn;}if(typeofarrayObj[index]二二'undefined'){alert("Unset()函数参数index错误!不存在此元素!〃);returnfalse;}arrayObj・splice(index,1);returntrue;}//Search函数,通过数组键值返回数组的键名varsearch=function(value,arrayObj){if(!(arrayObjinstanceofArray)){alert("Search()函数参数类型错误!请检查输入!”);ret

7、urn;}for(indexinarrayObj){if(arrayObj[index]==value){returnindex;returnfalse;//getKingMonkey函数,我们的约瑟夫主函数,n只猴子,数到mfunctiongetKingMonkey(n,m){a=newArray();for(i=l;ilt;=n;i++){a[i]=i;}a[0]=0;unset(0,a);reset(a);while(a.lengthgt;1){for(counter=l;counterlt;=m;co

8、unter++){if(next(a)){if(counter==m){unset(search(prev(a),a),a);}}else{reset(a);if(counter==m){unset(search(end(a),a),a);reset(a);returncurrent(a);alert(〃猴子大王的编号为:〃+getKingMonkey(100,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。