概述
用树的思想,队列方式(数组)实现十进制转二进制
输入十进制n=2,首先"1"入队(相当于树根),然后“1”出队,添加他两个孩子“10”和“11”,依次入队。注意队列是一头进一头出,所以循环一次之后n—变成1,再次出队,出的是“10”,出队的孩子“100”和“101”入队。
| | |
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct QN{
char s[10];
struct QN *next;
}QNode;
int main()
{
int n;
printf("请输入n");
scanf("%d",&n);
struct QN *QU;
QNode qu[100];
int front,rear,fronter;
front=rear=0;
if(n==1)
{
printf("十进制1");
}
else if(n>=1)
{
strcpy(qu[0].s ,"1");rear++;
while(n>0)
{
printf("%sn",qu[front].s ); front++;
fronter=front-1;
strcpy(qu[rear].s,qu[fronter].s);strcat(qu[rear].s,"0");rear++;
//printf("rear=%dn",rear);
strcpy(qu[rear].s,qu[fronter].s);strcat(qu[rear].s,"1");rear++;
n=n-1;
}
}
}
最后
以上就是明理小馒头为你收集整理的用树的思想,队列方式(数组)实现十进制转二进制的全部内容,希望文章能够帮你解决用树的思想,队列方式(数组)实现十进制转二进制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复