C语言实现:qsort排序指针数组间接完成对链表的排序

本文详细介绍了如何使用C语言构建二叉树,并通过预定义的队列辅助数据结构来快速定位树中的节点。此外,还实现了前序遍历算法,展示了如何逐个访问树中的元素。
#include<stdio.h>
#include<stdlib.h>

typedef char ElemType;//为了树中放任意类型元素方便

typedef struct node_t
{//第一步:
	ElemType c;
	struct node_t *pright;
	struct node_t *pleft;
}Node_t, *pNode_t;
//queue[kju]
//辅助队列数据结构,每个元素放的树中元素节点地址值,能快速定树中节点
typedef struct queue_t{
	pNode_t insertPos;
	struct queue_t *pNext;
}Queue_t, *pQueue_t;

void preOrder(pNode_t);

void buildBinaryTree(pNode_t *treeRoot, pQueue_t *queHead, pQueue_t *queTail, ElemType val){
	pNode_t treeNew = (pNode_t)calloc(1, sizeof(Node_t));
	pQueue_t queNew = (pQueue_t)calloc(1,sizeof(Queue_t));
	pQueue_t queCur = *queHead;
	treeNew->c = val;
	queNew->insertPos = treeNew;
	if (NULL == *treeRoot){
		*treeRoot = treeNew;
		*queHead = queNew;
		*queTail = queNew;
	}
	else{
		(*queTail)->pNext = queNew; 
		*queTail = queNew;
		if (NULL == queCur->insertPos->pleft){
			queCur->insertPos->pleft = treeNew;
		}
		else if(NULL == queCur->insertPos->pright){//漏了if(NULL == queNew->insertPos-&
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值