首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
admin
2012-06-21
95
问题
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为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
学硕统考专业
相关试题推荐
中俄双方签订的第一个边界条约是(),它从法律上肯定了格尔必齐河以东,外兴安岭直至鄂霍次克海以南的乌苏里江和包括库页岛在内的黑龙江流域的广大地区,都是中国的领土。
20世纪30年代的国联的所作所为,反映的实质问题是国联()
新航路的开辟给下列哪国的经济带来了不利影响()
新经济政策的实施表明苏俄()①放弃了由战时共产主义政策过渡到社会主义的设想②发展了马克思主义理论③适时调整生产关系以适应生产力发展④利用市场和商品货币关系发展经济
关于俄国工业革命的特点,正确的是()。①外国资本和技术在工业革命中起着重要的作用②工业革命发展极不平衡③企业资本有机构成低,技术落后④工业革命所需的资金主要来自对海外殖民地的掠夺
文艺复兴时期,系统提出了国家主权理论的政治思想家是()。
1837年倡导用无机肥料来补充土壤中耗去的化学元素的化学家是()。
冶铁技术中的“淬火法”在()已开始应用,大大提高了铁器的坚韧和锋利程度。
某计算机字长为16位,主存地址空间大小为128KB,按字编址。采用单字长指令格式,指令各字段定义如图B-4所示。转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义见表B-1。请回答下列问题:转移指令的目标地址范围是多少?
A和B建立TCP连接,MSS为1KB。某时,慢开始门限值为2KB,A的拥塞窗口为4KB,在接下来的一个RTT内,A向B发送了4KB的数据(TCP的数据部分),并且得到了B的确认,确认报文中的窗口字段的值为2KB,那么,请问在下一个RTT中,A最多能向B发送
随机试题
[*]
以下症状,不属内燥临床表现的是
患者,男性,9岁。突发剑突下剧烈绞痛1小时,疼痛呈钻顶样,辗转不安。查体:腹肌柔软,右上腹部轻微压痛。首先考虑的诊断是()
用3个D触发器组成的电路如图7-66所示,设Q2Q1Q0的初始状态为000,触发器F0的输入端接+5V表明D0=1,那么,在第1个CP脉冲和第2个脉冲的上升沿过后Q2Q1Q0分别是()。
可理解性原则的目的是保证从纵向上对同一企业前后各期会计信息进行相互比较和分析,预测企业的发展趋势。()
某企业占用林地40万平方米建造生态高尔夫球场,占用林地100万平方米开发经济林木,所占耕地适用的定额税率为20元/平方米。该企业应缴纳耕地占用税()万元。
交易双方经过协商,同意在约定的时间按照协议约定的价格和数量进行的交易是()。
求α1=(2,0,1,1),α2=(-1,-1,-1,-1),α3=(1,-1,0,0),α4=(0,-2,-1,-1)的秩和一个最大无关组,并将其余向量用该最大无关组表示.
Conventionalwisdomhasitthatconcernfortheenvironmentisaluxuryonlytherichworldcanafford;thatonlypeoplewhoseb
A、In1791.B、In1917.C、In1691.D、In1916.A由“SamuelF.B.MorsewasborninMassachusettsin1791.”可知,SamuelMorse出生于1791年,所以答案为
最新回复
(
0
)