数据结构(C语言)关于树、二叉树、图的基本操作…
2018-06-18 03:56:22来源:未知 阅读 ()
1) 编写算法函数int equal(tree t1, tree t2),判断两棵给定的树是否等价;
1 int equal(tree t1,tree t2) 2 { 3 int k; 4 if(t1==NULL&&t2==NULL) 5 return TRUE; 6 else if(t1!=NULL&&t2==NULL||t1==NULL&&t2!=NULL) 7 { 8 return FALSE; 9 } 10 else if(t1->data!=t2->data) 11 { 12 return FALSE; 13 } 14 for(k=0;k<m;k++) 15 { 16 equal(t1->child[k],t2->child[k]); 17 if(equal(t1->child[k],t2->child[k])==FALSE) 18 { 19 return FALSE; 20 } 21 else 22 return TRUE; 23 } 24 }
2) 编写算法函数void preorder(bintree t)实现二叉树t的非递归前序遍历;
1 void preorder1(bintree t) 2 { 3 seqstack s; 4 init(&s); 5 while(t||!empty(&s)) 6 { 7 if(t) 8 { 9 printf("%c",t->data); 10 push(&s,t); 11 t=t->lchild; 12 } 13 else if(!empty(&s)) 14 { 15 t=pop(&s); 16 t=t->rchild; 17 } 18 }
3)编写算法函数degree(LinkedGraph g)输出以邻接表为存储结构的无向图的各顶点的度。
1 void degree(LinkedGraph g) 2 { 3 int k; 4 int n; 5 EdgeNode *p; 6 for(k=0;k<g.n;k++) 7 { 8 p=g.adjlist[k].FirstEdge; 9 n=0; 10 while(p!=NULL) 11 { 12 n++; 13 p=p->next; 14 } 15 if(k==0) 16 { 17 printf("%d\n",n); 18 } 19 else 20 { 21 printf("%d\n",n); 22 } 23 } 24 }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:C 标准I/O库粗略实现
- 关于各种不同开发语言之间数据加密方法(DES,RSA等)的互通的 2020-06-07
- C语言程序结构 2020-05-31
- 数据结构—链表 2020-05-29
- 关于使用ffmpeg的一些牢骚 2020-05-08
- 图 2020-05-02
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash