首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
admin
2012-06-21
90
问题
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为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
学硕统考专业
相关试题推荐
唐代,中书省中中书舍人凡六员,在制作诏令过程中,可互相商量,并允许“各执所见,杂署其名”,谓之()。
在下列各项中,不属于列宁《四月提纲》内容的是
抗战以来文艺战线上思想斗争中最重要的问题是()。
下列各项不是“南北议和”形成的原因的是()。
下列关于《大明律》的叙述,不正确的是()
1957年,在()的西汉早期墓葬中,发现过一些用麻类纤维制成的残纸,据认为这是世界上已知的最早的人造纸片。
下列选项中,控制了西域政权的是()
最晚到汉武帝时期,出现了我国第一部算学著作(),它记载了用竿标测日影以求日高的方法,从而认识了勾股定理。
有人说:“我们应当以资本供给全世界,而谁以资本供给全世界,谁就应当管理全世界。”讲这话的应该是()。
有二个处理机P1和P2,它们各自有一个cache和主存,分别为C1、C2和M1、M2,其性能见下表:若两个处理机的指令系统相同,指令的执行时间与存储器的平均存取周期成正比,当执行某程序时,cache的命中率为70%,则P1处理机的速度比
随机试题
在DWDM系统中,OADM具有灵活的()功能。
《医宗金鉴.妇科心法要诀》云:头面遍身浮肿,小水短少者,属水气为病,故名曰:
足底部不能用冷疗的原因是
甲、乙两个医院某病的治愈率均为48.4%,按病情轻重标化后,甲医院该病治愈率为45.3%,乙医院该病治愈率为51.6%,可以认为
下列不属于监理工作中质量控制具体措施的是()。
以下的各种现象中,()应用于招聘与配置工作,则说明了招聘工作的能位对应原理。
教学方法即教师教授的方法。()
劳动争议:指在劳动者和劳动力使用者之间因劳动权利与义务发生分歧而引起的争议。根据以上定义,下列行为属于劳动争议的是( )。
Concernwithmoney,andthenmoremoney,inordertobuytheconveniencesandluxuriesofmodernlife,hasbroughtgreatchanges
A、Thechildrenaretooyoungtobenefitfromcitylife:B、Evenadultsthemselvescannotgoeverywhereinthecity.C、Thereisa
最新回复
(
0
)