社区
数据结构与算法
帖子详情
荷兰国旗问题
williamf
2001-12-12 02:18:47
设有一个仅由红白兰三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红白兰的顺序排好,即为荷兰国旗图案。
...全文
148
6
打赏
收藏
荷兰国旗问题
设有一个仅由红白兰三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红白兰的顺序排好,即为荷兰国旗图案。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
刘爱贵
2001-12-15
打赏
举报
回复
上面的算法走一趟就可完成,时间复杂度不是n,如果是N 就太简单了
刘爱贵
2001-12-15
打赏
举报
回复
#define R 14
#define G 10
#define B 6
#define N 10
typedef int color;
color a[N]={R,G,G,B,B,R,G,G,R,R};
void Flag_Arrange(color *array,int n)
{
int i=0,j=0,k=n-1;
int temp;
while(j<=k)
{
switch(array[j])
{
case R:
temp=array[i];
array[i]=array[j];
array[j]=temp;
i++;
j++;
break;
case G:
j++;
break;
case B:
temp=array[k];
array[k]=array[j];
array[j]=temp;
k--;
break;
}
}
}
void Print(color *array)
{
int i;
for(i=0;i<N;i++)
switch(array[i])
{
case R:printf("%4c",'R');break;
case G:printf("%4c",'G');break;
case B:printf("%4c",'B');break;
}
printf("\n");
}
main()
{
clrscr();
printf("Before FlagArrange:\n");
Print(a);
Flag_Arrange(a,N);
printf("After FalgArrange:\n");
Print(a);
getch();
}
one_add_one
2001-12-14
打赏
举报
回复
#define 红 0
#define 白 1
#define 蓝 2
int P[3];
main(){
int i,j;
for (i=0;i<n;i++)
p[color[i]]++;
for (i=0;i<3;i++)
for (j=0;j<p[i];j++)
printf("%d",i);
}
one_add_one
2001-12-14
打赏
举报
回复
#define 红 0
#define 白 1
#define 蓝 2
int P[3];
main(){
int i,j;
for (i=0;i<n;i++)
p[color]++;
for (i=0;i<3;i++)
for (j=0;j<p[i];j++)
printf("%d",i);
}
williamf
2001-12-13
打赏
举报
回复
what?
starfish
2001-12-13
打赏
举报
回复
计数排序
荷兰
国旗
问题
的C++实现
设有一个仅由红、白、蓝三种颜色的条块组成的序列。试设计一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成
荷兰
国旗
图案。
C解决
荷兰
国旗
问题
学生作业:C语言解决
荷兰
国旗
问题
。小程序。
计算机科学导论课程设计 1.
荷兰
国旗
问题
2. 幻方 3. 链表实现约瑟夫环 4. 逆序对个数
课程设计中的第一个主题——
荷兰
国旗
问题
,是一个有关排序的经典
问题
。它要求将一个给定的数组通过特定操作划分为三部分,分别包含小于、等于和大于某个目标值的元素。这一
问题
的解决通常依赖于快速排序算法的变种...
数据结构搜索&排序算法题.zip
T3:【
荷兰
国旗
问题
】 设一个有 n 个字符的数组 A[n],存放的字符只有 3 种:R(红色)、W(白色)和 B(蓝色)。设计一个算法重新放置字符,让所有的 R排列在最前面,W 排列在中间,B 排列在最后。要求每个字符只...
荷兰
国旗
系列
问题
问题
:给定一个数组arr和一个数字num,请把小于num的数放在数组的左边,等于num的数放在数组的中间,大于num的数放在数组的右边。 要求额外空间复杂度O(1),时间复杂度O(N) #include using namespace std; void ...
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章