910数据结构(2015年真题)

1.已知一个带头结点的单链表L,试编写算法:清空单链表。

Status clearList(LinkList &L){
	//初始条件:线性表L已存在。操作结果:将L重置为空表
	LNode *p, *q;
	p = L->next;
	if(p == null){
		return true;
	}
	while(p != null){
		q = p->next;
		L->next = q;
		free(p);
		p = q;
	}
	free(L);
	return true;
}

2.设二叉树用二叉链表表示,设计算法,求二叉树的度为2的结点数。

typedef struct BTree{
	int data;
	struct BTree *lchild, *rchild;
}BTree;

int nodeNum(BTree *T){
	if(T == null){
		return 0;
	}
	if(T->lchild!=null && ->rchild!=null ){
		return 1 + nodeNum(T->lchild) + nodeNum(T->rchlid);
	}else{
		return nodeNum(T->lchild) + nodeNum(T->rchlid)
	}
}

你可能感兴趣的:(数据结构自学,数据结构)