看数据结构写代码(10)栈的应用(一) 数值转换

首先 修正上一节 stackPop 代码的错误,

E_State stackPop(linkStack * stack,elelmentType * data){if (stack->top != stack->bottom){//首先指向第一个元素.lStackNode * next = stack->bottom;*data = stack->top->data;//找到栈顶元素的前驱while (next->next != stack->top){next = next->next;}free(stack->top);next->next = NULL;stack->top = next;//忘记加了stack->len–;return E_State_Ok;}else{return E_State_Error;}}下面给出10 进制转换其他进制的 例子。这个例子 上在 上篇 链栈的 基础上编写的。//进制转换int _tmain(int argc, _TCHAR* argv[]){linkStack stack;stackInit(&stack);//需要转换的数字int number;//几进制int base;printf("请输入一个10进制数: ");scanf("%d",&number);printf("请输入转换进制数: ");scanf("%d",&base);int oldNumber = number;while (number != 0){stackPush(&stack,number%base);number = number / base;}int pop;printf("%d 转换为 %d进制数 为:",oldNumber,base);while (stackPop(&stack,&pop) != E_State_Error){printf("%d",pop);}printf("\n");stackDestory(&stack);return 0;}

,关于爱情的句子:情不知所起,一往而情深。

看数据结构写代码(10)栈的应用(一) 数值转换

相关文章:

你感兴趣的文章:

标签云: