已知num为无符号十进制整数,请写一非递归算法,该算法输出num对应的r进制的各位数字

已知num为无符号十进制整数,请写一非递归算法,该算法输出num对应的r进制的各位数字。要求算法中用到的栈采用线性链表存储结构(1 思路:num%r得到末位r进制数,num/r得到num去掉末位r进制数后的数字,得到的末位r进制数采用头插法插入链表中,更新num的值,循环计算,直到num为0,最后输出链表

typedef struct node{
	int data;
	struct node *next;
}Linklink;
void transport(int num,int r){
	Linklist *head=NULL,*s;
	while(num>0){
		s=(Linklist*)malloc(sizeof(Linklist));//申请空闲空间
		s->data=num%r;
		s->next=head;
		head=s;//头插法插入
		num=num/r;
	}
	cout<<"r进制各位数为:";
	s=head;
	while(s!=NULL){//输出
		cout<<s->data;
		s=s->next;
	}
}

你可能感兴趣的:(数据结构算法题,算法)