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

📄 版本3.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];
	int i,j,p,q,np=N;
	
	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");
	p=0;q=0;
	while(p!=np)
	{
		if (a[p]!='w')
		{
			if (a[p]=='b')
			{
    		while (a[np-1]=='b')
					np--;
				swap(&a[p],&a[np-1]);
				np--;
			}
			else
			{
				swap(&a[p],&a[q]);
				q++;
			}
		}
		else
		{
			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 + -