首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
admin
2012-06-21
126
问题
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为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://www.kaotiyun.com/show/uAxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
武昌起义爆发后,控制大部分地方政权的是()。
“二战期间,美国研制了原子弹并用于实践;1946年美国投入的第一台电子计算机最初是用于计算炮弹弹道;德国人研制成功的远程液体火箭是用于空袭英国的。”以上史实说明()。
下列各项内容和王羲之的书法成就有关的是()。①开始把字体由隶书转化为楷书②书法代表作有《兰亭序》、《黄庭经》等③他博采众长,世称“书圣”④其子王献之书法造诣也极高,父子合称“二王”
中国第一条自行设计修建的铁路是在()
在民主革命取得全国性胜利并完成土地革命后,中国国内存在的主要矛盾是()。
最晚到汉武帝时期,出现了我国第一部算学著作(),它记载了用竿标测日影以求日高的方法,从而认识了勾股定理。
1988年起,苏联民族矛盾激化,民族分离运动加剧,第二次较大规模的民族冲突是()。
下列有关曲辕犁的表述正确的是()①曲辕犁早在中国汉代即已使用了②曲辕犁在中国出现至少比欧洲早一千多年③我国古代的农业工具和农耕技术曾长期居世界领先地位④处于“蒸汽时代”的欧洲农业技术革新,滞后于同时代工业的发展
linkNODE(intitem,link1,linkr){lnikt=malloc(sizeof*t);t->item=item;t->1=1;t->r=r;returnt;}lin
假设某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是____。
随机试题
A.吗啡B.度冷丁C.二者均有D.二者均无年轻体壮,创口剧痛,可用的药物为
适合用塑化治疗的牙髓和根尖周患牙是
女性,37岁,腹胀、腹泻与便秘交替半年,常有午后低热,夜间盗汗。体检:腹壁柔韧感,轻度压痛,肝脾未触及,腹水征(+)。腹水检查:比重1.018,蛋白25g/L,白细胞700×106/L,中性0.30,淋巴0.70,红细胞300×106/L,本例最可能诊断是
A.抑制胃酸分泌B.保护胃粘膜C.早期手术D.减少胆汁反流E.根除幽门螺杆菌(Hp)十二指肠球溃疡的治疗最主要的是
个人住房装修贷款用途不包括()。
关于经营杠杆系数,下列说法不正确的是()。
一2,1,一1,0,一1,(),一2。
邓小平指出:社会主义的本质就是()
查询在“北京”和“上海”出生的学生信息的SQL语句是
THECLIMATEOFJAPAN(1)Atthemostgenerallevel,twomajorclimaticforcesdetermineJapan’sweather.Prevailingwesterly
最新回复
(
0
)