社区
数据结构与算法
帖子详情
荷兰国旗问题
williamf
2001-12-12 02:18:47
设有一个仅由红白兰三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红白兰的顺序排好,即为荷兰国旗图案。
...全文
149
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. 逆序对个数
1——计算机科学导论课程设计指导书.doc 2——课程设计报告.doc 1.
荷兰
国旗
问题
2. 幻方 3. 链表实现约瑟夫环 4. 逆序对个数
数据结构搜索&排序算法题.zip
只有源代码!只有源代码!只有源代码! 没有流程图之类的。 海大秦平老师数据结构课程第八章搜索和第九章排序的算法题,一共有三道题 T1:【折半查找算法】 利用折半查找算法在一个有序表 R 中插入一个关键字 为 k 的元素想,并保持表的有序性。 T2:【二叉排序树算法】 对于二叉排序树 bt,设计一个算法,输出在该树中查找某个关键字 k 所经过的路径。 T3:【
荷兰
国旗
问题
】 设一个有 n 个字符的数组 A[n],存放的字符只有 3 种:R(红色)、W(白色)和 B(蓝色)。设计一个算法重新放置字符,让所有的 R排列在最前面,W 排列在中间,B 排列在最后。要求每个字符只访问一次。 下载之后可以适当的进行修改。 欢迎私信我进行交流
数据结构与算法
33,027
社区成员
35,335
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章