首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
admin
2012-06-21
97
问题
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为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
学硕统考专业
相关试题推荐
分析百家争鸣的社会背景及主要原因。
东汉时期,一再削弱地方的军权,强化中央控制下的军队,在下列中央控制的军队中,主要负责保卫京师的是()
德、意两个法西斯国家领土连成一片是在()事件之后。
“二战期间,美国研制了原子弹并用于实践;1946年美国投入的第一台电子计算机最初是用于计算炮弹弹道;德国人研制成功的远程液体火箭是用于空袭英国的。”以上史实说明()。
《马关条约》中最能体现列强对华侵略进入新阶段的内容是()。
法西斯势力上台后,英国面对挑战一心推行绥靖政策。其主要目的是()。
在中国共产党的“西部大开发”战略中,提出要依托亚欧大陆桥、长江水道、西南出海通道等交通干线,逐步形成一些有特色的跨行政区域的经济带,以下不属于其中的是()
阅读材料,回答以下问题:重庆中央党部,暨中央执监委员诸同志均鉴:今年4月,临时全国代表大会宣言,说明此次抗战之原因,曰:“自塘沽协定以来,吾人所以忍辱负重与倭国周旋,无非欲停止军事行动,采用和平方法,先谋北方各省之保全,再进而谋东北四省问题之合理解决,
阅读材料,回答以下问题:重庆中央党部,暨中央执监委员诸同志均鉴:今年4月,临时全国代表大会宣言,说明此次抗战之原因,曰:“自塘沽协定以来,吾人所以忍辱负重与倭国周旋,无非欲停止军事行动,采用和平方法,先谋北方各省之保全,再进而谋东北四省问题之合理解决,
在铭文中明确记载周武王伐商这一重大历史事件的青铜器是()。
随机试题
目标管理的实施过程可以分为计划阶段、执行阶段和__________。
在下列设备中,()不能作为微型计算机的输入设备。
病菌的致病因素,不正确的是
下列关于建设项目风险的说法,正确的是()
下列项目风险管理工作中,属于风险应对的是()。
全真道三大祖庭是()。
若圆(x一3)2+(y+5)2=r2上有且只有两个点到直线4x-3y-2=0的距离等于1,则半径r的取值范围是().
设f(χ)有任意阶导数且f′(χ)=f3(χ),则f(n)(χ)=_______.
Thehistoryofmodernwaterpollutiongoes【C1】______toFebruary20,1931,whenMrs.Murphy【C2】______overherbackyardfence
QuestionsontheOriginsofChristmas1.WhydowecelebrateonDecember25th?A)TheBiblemakesnomentionofJesusb
最新回复
(
0
)