- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
搪瓷衬板项目商业计划书(2013年融资成功案例范文)-协助企业融资-投资专家免费咨询
… … PROG胁I啊U鹏帅BE.… … … ……… …… …,…… ….“……… ,r-… … …… ………… …… … …
ic#实现数字排列题算法演示
孙 义欣
摘 要 :编程解决实际问题 ,通过实践 ,掌握一定的编程技巧 ,找到解决 问题 的正确方案。通过
一 道数字排列题 的解决演示,灵活运用c#语言编程实现 了该问题算法的可视化演示。
关键词 :算法;可视化 ;标签控件 ;数字排列 ;定时器控件
组 position 8【]存放 data数组 四周 的元素在 data数组 中对应 的
1 引言
下标 ,position数组 的元素为为 : {0,1,2,5,8,7,6,3},这样利用
编程能力的提高需要通过大量的编程实践,在实践的过程 position数组可以使 data数组 中四周 的元素构成一个环 ,有助
中掌握一些编程 的技巧;同时问题 的解决还需要有正确的解决 于简化程序的设计 。
方案 ,也就是要找 出正确的算法 。在解决实际问题时,首先针 在 8个元素构成 的环 中,从环 的position[0】位置开始查
对具体 问题进行分析 ,找到合适 的算法后才能通过编程实现 。 找,在找到数字 1所在的位置后,其余各个数字的正确位置就
通过 C#编程实现 了下面数字排列题 目的可视化动态演示 ,通 是确定的。可 以按照下列算法从数字 2开始 ,一个一个地来调
过可视化动态演示 .可 以更加直观地观察算法执行的步骤 ,有 整各个数字的位置 :
助于对算法的理解 。题 目描述如下: (1)首先确定数字 i所处 的位置。
在如 图 1所示 的9个点上 ,空出中间的点,其余的点上任 (2)从数字 i应处的位置开始,向后查找数字i现在的位置。
意填人数字 1—8;1的位置 固定不动 ,然后移动其余 的数字 , (3)若数字 i现在所处的位置不正确 ,则将数字 i从现在
使 1—8按顺时针从小到大排列。移动 的规则是 :只能将数字 的位置移 向中间的空格 .将 原有位置 空出。
沿线移 向空 白的点 。移动完成后的结果如图 2所示。 (4)依次将空 出位置前 的所有元素 向后移动 ,直到将 i应
处的位置空出。
(5)把数字 i从中间的空格移人正确的位置 。
(6)将 i加 1后重复上述步骤 ,直到将所有的数字全部放
好 ,算法结束 。
2 程序实现
算法 中用一个一维数组 data存放待排序的数据 ,用另一个
一 维数组 position记录矩 阵四周的 8个元素在数组 data中对应
图 1 初始数据排列 图2 排序完成的序列
的下标 .中间的元素正好是空格 .程序开始执行时,在找到数
分析题 目中的条件 ,要求利用中间的空 白格将数字按顺时
字 l所在 的位置后 ,用另一个数组 nPosition口重新记录环 中
针排列,且排列过程 中只能借助 中间的空格来移动数字 。问题
元素 的位置 ,这样
文档评论(0)