首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
admin
2012-06-21
81
问题
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为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
学硕统考专业
相关试题推荐
1852年,英国驻广州代办密切尔说:“经过和这么一个大国开放贸易十年之久,并且双方都已废除了一切独占制度,而拥有如此庞大人口的中国,其消费我们的制品竟不及荷兰的一半……这好像是一个奇怪的结局。”这是因为()。
国民党政府宣布民盟为“非法团体”,民盟总部被迫解散的时间是()。
关于美国内战,不正确的说法是()。
评介萨缪尔.亨廷顿的“文明冲突论”。(北京大学1996年世界通史真题)
近现代以来,国际关系中先后出现了维也纳体系、凡尔赛一华盛顿体系和雅尔塔体系。关于这三个体系共同点的表述不正确的是()。
“秋千政策”反映的是()执掌政权时政局不稳的现象。
东欧国家的私有化方式一般有四种,其中波兰采取的主要方式是()
1837年倡导用无机肥料来补充土壤中耗去的化学元素的化学家是()。
1141年,金与南宋双方签订协议,规定以淮水和大散关为宋金的分界线,此协议称为()。
电子计算机的发展经过了四代,①电子数值积分计算机(ENIAC);②集成电路计算机;③大规模集成电路计算机;④晶体管计算机;⑤人工智能计算机,其先后顺序是()。
随机试题
激励
企业所得税规定纳税人在生产经营期间向金融机构及非金融机构借款的利息按实际发生数扣除。()
对磁盘进行移臂调度的目的是为了缩短
子宫颈癌的癌前病变是()
“ATA单证册”既是国际通用的暂准进口报关单证,又是具有国际效力的担保书。在我国,目前仅适用在展览会、交易会、会议及类似活动中供陈列或使用的货物。()
已知数列{an}的首项a1≠0,其前n项的和为Sn,且Sn+1=2Sn+a1,则=()
下列例子中,主要体现出人民警察义务的()。例一:甲为某市公安局局长,乙为某市公安局的普通民警,《中华人民共和国人民警察法》都给他们规定同样的义务。例二:公民丙对局长甲和民警乙公车私用的行为,向市纪委举报,市纪委对甲和乙公车私用的违纪行为追究了责
以按需分配为主体,多种分配方式并存是社会主义初级阶段的分配制度。()
Hawaii’snativeminorityisdemandingagreaterdegreeofsovereigntyoveritsownaffairs.Butmuchofthearchipelago’spoli
A、InNewZealand.B、IntheUSA.C、InEngland.D、InJapan.C
最新回复
(
0
)