更多西南交通大学真题,参考:西南交通大学计算机考研——数据结构真题系列
考研真题
3.编写一个函数将一个头结点指针为La的单链表A分解为两个单链表A和B,其头结点分别为La和Lb,其中A链表中含有A中序号为奇数的元素,而B链表中含有原链表A中序号为偶数的元素,且保持原来的相对顺序,该链表结点如下图所示。(6分)
4.设有一颗二叉树以二叉链表作为存储结构,结点结构为下图所示,试写出复制一颗二叉树的算法。设原来的二叉树跟为t,复制的二叉树跟为bt。
真题解析
3.编写一个函数将一个头结点指针为La的单链表A分解为两个单链表A和B,其头结点分别为La和Lb,其中A链表中含有A中序号为奇数的元素,而B链表中含有原链表A中序号为偶数的元素,且保持原来的相对顺序,该链表结点如下图所示。(6分)
typedef struct LNode
{
int data;
struct LNode* next;
}LNode,*LinkList;
链表A中结点按序号的奇偶性分解到表A或表B中
//链表A中结点按序号的奇偶性分解到表A或表B中
LNode* SeparateLNode(LNode* La)
{
LNode* Lb;
//记录表A中结点的序号
int m_num=0;
Lb=(LNode*)malloc(sizeof(LNode));
Lb->next=NULL;
//paTail,pbTail分别指向创建的La和Lb的尾结点
LNode *paTail,*pbTail,*pCur;
paTail=La