1 / 13
文档名称:

数据结构第六章一二次作业.doc

格式:doc   大小:394KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构第六章一二次作业.doc

上传人:AIOPIO 2021/7/29 文件大小:394 KB

下载得到文件列表

数据结构第六章一二次作业.doc

相关文档

文档介绍

文档介绍:上机题
(1)编写完整程序,用先序遍历法建立二叉树的二叉链
、中、后序遍历结
点访问次序以及层次遍历结点访问次序。(建议结
点数据域类型为char)
//  : Defines the entry point for the console //ﻫﻫ#include ”stdafx。h”ﻫ#include<stdio.h>ﻫ#include〈stdlib.h〉ﻫtypedef struct nodeﻫ{ﻫ  char data; ﻫ   struct node *lchild, *rchild; ﻫ}*BiT, BiTNode;ﻫﻫBiT crtBT()  ﻫ{ﻫ   char ch;ﻫ BiT bt;ﻫ   ch=getchar();ﻫ   if(ch=='#')  ﻫ      return NULL;ﻫ    bt=new BiTNode(); ﻫ  bt—〉data=ch;ﻫ  bt—>lchild=crtBT(); ﻫ   bt—〉rchild=crtBT(); ﻫ   return bt;  ﻫ}ﻫvoid preorder(BiT bt)
{ﻫ   if(bt)ﻫ   {ﻫ   printf("%c”,bt->data);ﻫ      preorder(bt->lchild);ﻫ     preorder(bt->rchild);ﻫ    }ﻫ    //printf("\n");ﻫ}ﻫvoid midorder(BiT bt)ﻫ{ﻫ    if(bt)ﻫ    {ﻫ     midorder(bt—〉lchild);ﻫ   printf("%c”,bt-〉data);
    midorder(bt—〉rchild);ﻫ    }ﻫ   //printf("\n");ﻫ}ﻫvoid lasorder(BiT bt)ﻫ{ﻫ  if(bt)ﻫ  {ﻫ      lasorder(bt->lchild);ﻫ   lasorder(bt—>rchild);ﻫ        printf("%c”,bt—〉data);ﻫ }
   //printf("\n");ﻫ}ﻫint main(int argc, char* argv[])
{ﻫ   BiT bt;
bt=crtBT();ﻫ    preorder(bt);ﻫprintf("\n");ﻫmidorder(bt);ﻫprintf(”\n");ﻫlasorder(bt);ﻫprintf("\n");ﻫ   return 0;
}
(2)从键盘输入n个数据建立n元完全二叉树顺序存储结
构。实现该完全二叉树的先、中、后序遍历。
#include "stdafx。h”
#include<stdio。h〉
#include<stdlib。h>
void preorder(int j,int i,char *s)
{
ﻩif (j〉i) return; 
ﻩprintf(”%c”,s[j]); 
preorder(j*2+1,i,s);
  preorder(j*2+2,i,s);

void midorder(int j,int i,char *s) 

   if (j〉i) return; 
 preorder(j*2+1,i,s); 
    printf("%c”,s[j]);
  preorder(j*2+2,i,s); 
}
void lasorder(int j,int i,char *s)
{
   if (j〉i) return;
preorder(j*2+1,i,s);
   preorder(j*2+2,i,s);
ﻩprintf(”%c”,s[j]);
}
int main(int argc, char* argv[])

int i=0;
char *bt;
ﻩchar s[100];
ﻩscanf("%s",s);
ﻩbt=s;
ﻩwhile(s[i]!=0)
ﻩ{

ﻩ i++;
ﻩ}
ﻩ//printf("%d\n",i);
  preorder(0,i,bt);
ﻩprintf(”\n");
ﻩmidorder(0,i,bt);
printf("\n");
ﻩlasorder(0,i,bt);
ﻩprintf("\n”);
    return 0