首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
admin
2012-06-21
125
问题
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为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年代的国联的所作所为,反映的实质问题是国联()
19世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
“二战”后世界经济发展变化迅速,这种变化主要表现在()。①国际金融体系和贸易体系的形成②国家垄断资本主义的空前发展③形成以美、苏“冷战”为特征的两极格局④科学技术推动生产力发展更为迅速
1941年~1942年,中共在根据地建设中,为争取抗战胜利奠定物质基础的措施是()。
在民主革命取得全国性胜利并完成土地革命后,中国国内存在的主要矛盾是()。
荷马时代的社会管理制度和经济生活。
1916年研究短波无线电通信,为现代远距离无线电通信奠定了基础的发明家是()。
材料一材科二(戈尔巴乔夫政府)在制定改革政策方针中存在三个严重问题:第一,仍然以优先发展重工业和机器制造业为主的“加速发展战略”作为发展资本密集型产业的主要战略,已不符合时代潮流。现代经济结构已由资本密集型向技术密集型发展……苏联的经济改革对
以下()协议完成了从网卡到IP地址的映射。
随机试题
按消费者的购买习惯和购买特点,消费品可以分为
属于不同类的相同特异性抗体,其区别主要在于
某男,60岁。患皮肤瘙痒3年,刻下全身遍布抓痕、结痂、黑色斑点,时起脓包,自觉奇痒,搔抓不已,遇热及夜间更甚,痛苦不堪。医师诊为疥疮,准备为其配制杀虫止痒外用药膏,宜选用的药是()。
下述导致缺铁性贫血的原因中,正确的是
下列关于投资组合的说法中,错误的是()。
据S市的卫生检疫部门统计,和去年相比,今年该市肠炎患者的数量有明显下降。权威人士认为,这是由于该市的饮用水净化工程正式投入了使用。以下哪项最能削弱上述权威人士的结论?()
汤因比
【S1】【S13】
Tertiaryeducation;-astudentistreated【D1】______-studentshavetobemoreindependentandberesponsiblefortheirowndec
A、Farmersaren’tencouragedtogrowothercropsindevelopingcountries.B、Thetobaccomarketindevelopedcountriesdwindles.C
最新回复
(
0
)