【摘要】 链表的定义:
typedef struct Node
{
int data;
struct Node * next;
}Stack;
12345
构建转换函数: 错误思路: 类比之前的交换两个整形数的函数,如下:
void jiaohuan(int a,int b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
1234567
从而…
链表的定义:
typedef struct Node
{
int data;
struct Node * next;
}Stack;
构建转换函数:
错误思路:
类比之前的交换两个整形数的函数,如下:
void jiaohuan(int a,int b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
从而写出了如下函数:
void jiaohuan(Stack *A,Stack *B)
{
Stack *tmp;
tmp=A;
A=B;
B=tmp;
}
这个函数看似可以,运行就会发现不行。因为这样只改变了指针的指向关系没改变其中的前后指向关系。
正确做法:
只交换其中的值即可。
void jiaohuan(Stack *A,Stack *B)
{
Stack *tmp;
tmp->data=A->data;
A->data=B->data;
B->data=tmp->data;
}
如有错误,敬请指正。
文章来源: blog.csdn.net,作者:计算机小弟11,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/m0_55627515/article/details/116375004
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END