软件设计师模拟试题
1 一笔画问题
2 迷宫问题
3 最短路径问题(就是给出一个交通示意图,边上的数字为路的长度,求每个结点到某个固定点的最短路程)
4 N个球称重问题吧
荷兰国旗问题????四色定理
3种颜色(0,1,2)在一个数组里,每次只可交换一次,扫描一边后,三种颜色自然分开,应为颜色为:红,白,蓝,(荷兰国旗的颜色)所以叫它荷兰国旗问题(也是他老人家的国籍)!
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define N 15
int main(int argc, char* argv[])
{
char array[N];
char t,*p_red_end,*p_write_end,*p_blue_head; //分别为红色的尾指针、白色的尾指针、蓝色的首指针
int i;
srand( (unsigned)time( NULL ) );
for(i=0;i { switch (rand()%3) { case 0: array='r'; break; case 1: array='w'; break; default: array='b'; } printf("%c ",array); } printf("n"; for(p_red_end=p_write_end=array,p_blue_head=array+14;p_write_end<=p_blue_head switch (*p_write_end) { case 'r': t=*p_red_end; *p_red_end=*p_write_end; *p_write_end=t; p_red_end++; p_write_end++; break; case 'b': t=*p_write_end; *p_write_end=*p_blue_head; *p_blue_head=t; p_blue_head--; break; default: p_write_end++; } for(i=0;i printf("%c ",array); } 运行结果是: rrrwwrwwrwbbbbb 这个结果是荷兰国旗算法的结果吗?(我不清楚荷兰国旗算法) 题目最终要求的结果应该是:红,白,兰,红,白,兰,红,白,兰……还是:红,红,红,红,红,白,白,白,白,蓝,蓝,蓝,蓝,蓝……?