首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
admin
2012-06-21
102
问题
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
选项
答案
在算法中设立三个指针,其中,j表示当前元素,i以前的元素全部为红色,k以后的元素全部为蓝色,这样就可以根据j的颜色,把其交换到序列的前部或者后部。算法如下: typedef enum{RED,WHITE,BLUE)color;//三种颜色 void ColorAErange(color a[],int n) /*把由三种颜色组成的序列重排为按照红、白、蓝顺序排序*/ { int i=0; int j=0; int k=n-1: while(j<=k) { switch(a[j]) { case RED: Swap(a[i],a[j]);//交换a[i],a[j] i++; j++; break; case WHITE; j++; case BLUE; Swap(a[j],a[k]);//交换a[k],a[j] k-//这里没有j++,防止交换后a[j]仍然是蓝色 } } }
解析
转载请注明原文地址:https://kaotiyun.com/show/uAxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
对三国鼎立到隋朝重新统一全国这段历史时期的政局,叙述正确的是()。①只有西晋有过短暂的统一②大多数时间是多个政权分立、南北对峙的复杂政局③西晋、北魏、东晋都有过短暂的统一④除三国分立以外,其他时间基本上处于统
下列关于农耕世界与游牧世界文明特征的叙述中,不正确的是()。
中国第一条自行设计修建的铁路是在()
明朝灭亡后,以下南明小朝廷存在的先后顺序是()。①绍武政权②永历政权③隆武政权④弘光政权
下列有关曲辕犁的表述正确的是()①曲辕犁早在中国汉代即已使用了②曲辕犁在中国出现至少比欧洲早一千多年③我国古代的农业工具和农耕技术曾长期居世界领先地位④处于“蒸汽时代”的欧洲农业技术革新,滞后于同时代工业的发
关于《新学伪经考》、《孔子改制考》的说法正确的是()。①都是利用古书古人宣传西方资产阶级政治的学说,向西方寻求救国真理②借用儒家学说和孔子的偶像进行宣传,可减少来自封建顽固势力的阻挠和压力③是维新变法的重要理论依据④动摇了封建统治的思想基
印加人记载事物使用的方法是()。
材料一国史人恣而善蔽真,然其叙典章、述文献,不可废也;野史人臆而善失真,然其征是非、削讳忌,不可废也;家史人谀而善溢真,然其赞宗阀,表官绩,不可废也。国以草创之,野以谈论之,家以润色之,庶几乎史之倪哉。
洪武八年,朱元璋仿照元朝的办法,印造(),命令民间通行,形成了钱、钞并用的货币制度
以下()协议完成了从网卡到IP地址的映射。
随机试题
SCDMA系统的主要网络单元包括()、基站系统和本地移动控制中心。
主张“教育无目的论”的人物是()
A.被甲基化修饰B.被甲酰化修饰C.被乙酰化修饰D.未被修饰真核蛋白质合成起始氨基酸(Met)
新药Ⅲ期临床试验的最低病例数(试验组)是
自动化仪表工程施工中,仪表调校应遵循的原则是( )。
下列计量器具中,属于C类的是()。
在对证券公司实施监管的基础性制度中,将经营风险控制在净资本覆盖范围内,通过业务风险资本准备比例的调整,间接调节证券公司业务规模上限,同时起到风险提示作用的是()
根据法律规定,下列可免征个人所得税的是()。
人造骨要求作为原料的金属具有耐热性、韧性和生物相容性等特点。据此,下列材料最适合制作人造骨的是:
关于行政赔偿与行政补偿的区别,下列说法错误的是()。
最新回复
(
0
)