简明数据结构1-3章.ppt

3.1.5 栈的应用 1.数制转换 其算法描述如下: void ConDeToBin(int N) {//对任意十进制数N,打印出与其等值的二进数 SqStack S;//此处S为顺序栈,也可以定义 为链栈 int x; InitStack(S); while(N>0) { x=N%2; Push(S,x); //入栈 N=N/2; } while(!StackEmpty(S)) { Pop(S,x); //*退栈 printf(%d,x); } }// ConDeToBin 图3.4 迷宫转换成二维数组 图3.5 4种可能的移动方向 2.迷宫问题 用下面这种结构的数组来表达这4种可能的移动方向。 typedef struct {int Vert; int Horize; }Offset; Offset Move[4]; 迷宫算法描述如下: void Path (int Maze[Col]) 图3.6 迷宫的数组表示 { LStack S; //定义栈 int i,j,n,m,d,k,r,c,Found; Maze[1][1]=2; //入口,令迷宫值为2 InitStack(S); //将栈置空 Push(S,1,1,2); //位置和迷宫值入栈 Found=0; k=0; While(S-Top!=NULL) { Pop(S,i,d); while

文档评论(0)

1亿VIP精品文档

相关文档