码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构之广义表

时间:2016-04-20 23:41:42      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

#include<stdio.h>
//广义表的头尾链表存储结构
typedef int AtomType;
typedef enum NodeType{ATOM,LIST}ElemTag;//ATOM表示原子结点,LIST表示表节点 
typedef struct GLNode{
	ElemTag tag;
	union{
		AtomType atom;
		struct List{
			struct GLNode* hp,*tp;
		
		} htp;
	}atom_htp;
	
	
}GLNode,*GList;

//求广义表L的表头
GList Head(GList L)
{
	if(L==NULL)
	return NULL;
	if(L->tag==ATOM)
		exit(0);
	else 
	return (L->atom_htp->htp->hp);
} 

//求广义表L的表尾
GList Tail(GList L)
{
	
	if(L==NULL)
	return NULL;
	if(L->tag==ATOM)
		exit(0);
	else 
	return (L->atom_htp->htp->tp);
} 

//求广义表的长度
int Length(GList L)
{
	int k=0;
	GLNode* s;
	if(L==NULL)
		return NULL;
	if(L->tag==ATOM)
		exit(0);
	s=L;
	while(s!=NULL)
	{
		k++;
		s=s->atom_htp->htp->tp;
	}
	return k;
} 

//求广义表的深度
 int Depth(GList L)
 {
 	
 	
 	
 } 

  

数据结构之广义表

标签:

原文地址:http://www.cnblogs.com/YTYMblog/p/5414720.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!