荷兰国旗问题7页.doc

上传人:晟*** 文档编号:7142173 上传时间:2021-09-25 格式:DOC 页数:7 大小:157KB
下载 相关 举报
荷兰国旗问题7页.doc_第1页
第1页 / 共7页
荷兰国旗问题7页.doc_第2页
第2页 / 共7页
荷兰国旗问题7页.doc_第3页
第3页 / 共7页
荷兰国旗问题7页.doc_第4页
第4页 / 共7页
荷兰国旗问题7页.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1.问题描述: 我们将乱序的红白蓝三色小球排列成有序的红白蓝三色的同颜色在一起的小球组。这个问题之所以叫荷兰国旗,是因为我们可以将红白蓝三色小球想象成条状物,有序排列后正好组成荷兰国旗。2.问题分析:这个问题我们可以将这个问题视为一个数组排序问题,这个数组分为前部,中部和后部三个部分,每一个元素(红白蓝分别对应0、1、2)必属于其中之一。由于红、白、蓝三色小球数量并不一定相同,所以这个三个区域不一定是等分的,也就是说如果我们将整个区域放在0,1的区域里,由于三色小球之间数量的比不同(此处假设1:2:2),可能前部为0,0.2),中部为0.2,0.6),后部为0.6,1。我们的思路如下:将前部和后部各排在数组的前边和后边,中部自然就排好了。具体的:设置两个标志位begin和end分别指向这个数组的开始和末尾,然后用一个标志位current从头开始进行遍历:1)若遍历到的位置为0,则说明它一定属于前部,于是就和begin位置进行交换,然后current向前进,begin也向前进(表示前边的已经都排好了)。2)若遍历到的位置为1,则说明它一定属于中

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 公文范文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。