首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
admin
2012-06-21
49
问题
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为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年倡导用无机肥料来补充土壤中耗去的化学元素的化学家是()。
解析两个战场的地位、作用及相互关系。
在平衡二叉树中的每个结点上增设一个Lsize域,其值为它的左子树中的结点个数加1,试写一个时间复杂度为O(logn)的算法,确定树中第k个结点的位置。
在一个按字节编址的计算机中,若数据在存储器中以小端方案存放。假定int型变量i的地址为08000000H,i的机器数为01234567H,地址:08000000H单元的内容是()。
随机试题
我国合同法调整的是()
A、1~2个月B、3~6个月C、7~12个月D、1岁以后E、2岁以后单侧唇裂整复术最佳时间
患者,女性,47岁。患大隐静脉曲张。站立时在大腿中部扎止血带,嘱患者下蹲16次后,曲张静脉空虚萎陷,提示的情况是
甲签发一张票面金额为2万元的转账支票给乙,乙将该支票背书转让给丙,丙将票面金额改为5万元后背书转让给丁,丁又背书转让给戊。下列关于票据责任承担的表述中,正确的是()。
甲公司为上市公司,系增值税一般纳税人,该公司销售商品与提高劳务等适用的增值税税率为17%;除特别说明外,不考虑除增值税以外的其他相关税费;所售资产均未发生减值;销售商品与提供劳务为日常的生产经营活动,销售价格均为不含增值税的公允价格;商品销售成本在确认销售
当发生食物中毒时,发生单位及治疗单位应及时向()报告。
小学课程应注重内容的现代化,强调学生学会学习和正确价值观的形成,以()为主。
根据新课程精神结合教学实际,简要回答应该如何加强对学生的学法指导。
政府招聘副科,160多名博士报名,你是怎么看的?
A、Theywillbemorecarefulinbuyingpresents.B、Theywilllearnhowtobudgetandinvestinthefuture.C、Theywillbemoreli
最新回复
(
0
)