⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 版本2.cpp

📁 演示了荷兰国旗问题(c语言)从简单到复杂的三种算法
💻 CPP
字号:
#include "stdlib.h"
#include "time.h" 
#include <stdio.h>
#define N 15
void swap(char *m,char *n)
{
	char t;
	t=*m;
	*m=*n;
	*n=t;	
}
int main(int argc, char* argv[])
{ 
	char a[N],color[]={'r','w'};
	int i,j,p,q;
	srand( (unsigned)time( NULL ) );
  printf("原始系列\n");
	for(i=0;i<N;i++)
	{ 
		switch (j=rand()%3) 
		{ 
			case 0: 
				a[i]='r'; 
				break;
			case 1: 
				a[i]='w';
				break;
			default: 
				a[i]='b';
		} 
		printf("%c ",a[i]);
	} 
	printf("\n");
	q=0;
	for(i=0;i<2;i++)
	{
		p=q;
 		while (p<N)
 		{
 			if ((a[p]==color[i]) && (p!=q))
 			{
 				printf("swap %d %d\n",p,q);
 				swap(&a[p],&a[q]);
 				q++;
 				p--;
 			}
 			p++;
		}
		for(j=0;j<N;j++)
			printf("%c ",a[j]);
		printf("\n");
  } 
	scanf("%d",&i);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -