恒生电子笔试题3(3)
时间:2025-03-11
时间:2025-03-11
恒生电子笔试题
1. 说明函数"func"对 链表"ppList"做了什么,并指出其中可能的错误。
先序遍历二叉树的方式将树转化为链表。(答不出“先序”也没关系)
struct NODE { int nValue; struct NODE* pLeft; struct NODE* pRight; };
struct NODE_LIST { const struct NODE* pNode; struct NODE_LIST* pNext; };
struct NODE_LIST** sub_func(const struct NODE* pTree, struct NODE_LIST** ppList) { if (*ppList == NULL) { *ppList = malloc(sizeof(struct NODE_LIST)); if (*ppList == NULL) { return 0; } (*ppList)->pNode = pTree; (*ppList)->pNext = NULL; return ppList; } else { struct NODE_LIST* pList = (*ppList); while (pList->pNext) { pList = pList->pNext; } pList->pNext = malloc(sizeof(struct NODE_LIST)); if (pList->pNext == NULL) { return 0; } pList->pNext->pNode = pTree; pList->pNext->pNext = NULL; return &(pList->pNext); } }
int func(const struct NODE* pTree, struct NODE_LIST** ppList) {
上一篇:09级电信二班赵晓飞毕业论文