首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
admin
2012-06-21
116
问题
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为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
学硕统考专业
相关试题推荐
汉武帝时期,在民族关系上采取了一系列措施,其中不包括()。
揭批“四人帮”运动,在全国范围内开展了()。
一战期间,中国民族资本主义迅速发展的主要作用是()
1988年起,苏联民族矛盾激化,民族分离运动加剧,第一次较大规模的民族冲突是()。
晚清时期下列武装力量出现的先后顺序是
文艺复兴时期,系统提出了国家主权理论的政治思想家是()。
简述从十月革命胜利到第二次世界大战爆发前夕苏俄(苏联)与主要资本主义国家关系演变的基本情况。
规定了电流、电动势、电阻等概念的物理学家是()。
“二战”期间,美国研制了原子弹并用于实践;1946年美国投入使用的第一台电子计算机最初是用于计算炮弹弹道的;德国人研制成功的远程液体火箭是用于空袭英国的。以上史实说明()。
TCP的拥塞窗口cwnd大小与传输轮次n的关系如表3—5所示。假定在第26轮次之后收到了3个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口cwnd和门限ssthresh应设置为多大?
随机试题
在西方早期,狭义的美主要指的是【】
我国实行“一国两制”不会改变人民民主专政国家的社会主义性质。这是因为()
女性,26岁,寒战、高热、腰痛、下腹痛。体检:肾区叩痛(+),耻骨联合上压痛(+)。血WBC18×109/L;尿常规:蛋白(+),WBC15—20/HP。应考虑诊断是
一般人眼能识别的密度值范围是
肾发生出血性梗死时,尿液中主要出现
马锋系A市某厂业务员,1993年与潘丽结婚,但因种种原因未登记领取结婚证,有一女3岁。马锋因工作经常出差,在B市联系业务时,与一饭店服务员刘娟互有好感。马锋谎称自己未婚,于1998年5月利用空白介绍信与刘登记结婚。1年后刘娟生一子。久之,马锋之妻潘丽有所觉
某经纪公司独家代理销售的一房屋成交价格250万元,最高收费()万元。
业主委员会应当建立工作档案,工作档案主要内容包括()
颜元重“实学”和“习行”教育思想的意义何在?
A、 B、 C、 D、 C
最新回复
(
0
)