教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 建筑文档 >

西电机电院自动化专业软件技术基础上机报告(6)

来源:网络收集 时间:2026-04-10
导读: 班级:041132 学号:04113*** 姓名: { printf(\ return (NULL); } else { temp=(datatype *)malloc(sizeof(datatype)); *temp=s->element[s->Top]; return (temp); } } linklist *CREAT() //尾插法建立链表 { data

班级:041132 学号:04113*** 姓名:

{

printf(\ return (NULL); } else {

temp=(datatype *)malloc(sizeof(datatype)); *temp=s->element[s->Top]; return (temp); } }

linklist *CREAT() //尾插法建立链表 {

datatype ch;

linklist *head,*r,*s;

head=(linklist *)malloc(sizeof(linklist)); r=head;

ch=getchar(); while(ch!='$') {

s=(linklist *)malloc(sizeof(linklist)); s->data=ch; r->next=s; r=s;

ch=getchar(); }

r->next=NULL;

printf(\ return head; }

int main() {

int i=1;

linklist *head,*p; Stack *s;

s=(Stack *)malloc(sizeof(Stack));

班级:041132 学号:04113*** 姓名:

head=(linklist *)malloc(sizeof(linklist));

printf(\ head=CREAT(); p=head; SETNULL(s);

while(p->next!=NULL) //计算待判定字符(链表)长度 {

con++; p=p->next; }

p=head->next;

for(i=1;i<=con/2;i++) {

PUSH(s,p->data); p=p->next; }

while(con%2==1)

{

p=p->next; }

while(p!=NULL) {

if((p->data)==*GETTOPS(s)) {

POPS(s); p=p->next; } else

break; }

if(EMPTY(s))

printf(\Palindrome;\\n$$$$$$$$$$$$$$$$$$$$$$$$$\else

printf(\Palindrome\\n$$$$$$$$$$$$$$$$$$$$$$$$$\return (1); }

string string is

isn't

班级:041132 学号:04113*** 姓名:

第六题:

/*************************************************************************************************

试设计一个程序,求二叉树的结点数目和叶子结点数目。

**************************************************************************************************/ #include #include #include #define maxsize 1024 typedef char datatype; typedef struct node {

datatype data;

struct node *lchild,*rchild; }bitree;//定义二叉树

int number1=0,number2=0,i=0;

/*利用队列创建二叉树*/ bitree *CREAT() {

datatype ch;

bitree *Queen[maxsize]; int Front,Rear; bitree *root,*s; root=NULL; Front=1; Rear=0;

printf(\ ch=getchar(); while(ch!='#') {

s=NULL; if(ch!='@') {

s=(bitree *)malloc(sizeof(bitree)); s->data=ch; s->lchild=NULL; s->rchild=NULL; }

Rear++;

Queen[Rear]=s;

班级:041132 学号:04113*** 姓名:

if(Rear==1) root=s; else {

if(s&&Queen[Front]) {

if(Rear%2==0)

Queen[Front]->lchild=s; else

Queen[Front]->rchild=s; }

if(Rear%2==1) Front++; }

ch=getchar(); }

printf(\ return root; }

/*查找树中节点的数目*/ void FIND_NODE(bitree *p) {

if(p!=NULL) {

if(p->data!='@') number1++;

FIND_NODE(p->lchild); FIND_NODE(p->rchild); } }

/*查找树中叶子结点的数目*/ void FIND_LEAF(bitree *p) {

if(p!=NULL) {

if((p->lchild==NULL)&&(p->rchild==NULL)) number2++;

FIND_LEAF(p->lchild); FIND_LEAF(p->rchild); }

班级:041132 学号:04113*** 姓名:

}

void PRINT(bitree *p)//采用中序遍历打印当前链表。 {

if(p!=NULL) {

i++;

printf(\ PRINT(p->lchild); PRINT(p->rchild); } }

int main() {

bitree *root; int NODE_NUM; int LEAF_NUM;

root=(bitree *)malloc(sizeof(bitree)); root=CREAT();//创建二叉树

printf(\ PRINT(root);//打印当前二叉树

printf(\ FIND_NODE(root); //查找树中结点数目

NODE_NUM=number1; //将结点数目给NODE_NUM printf(\ the number is %d ;\\n\

FIND_LEAF(root);//查找树中叶子结点数目

LEAF_NUM=number2;//将叶子结点数目给LEAF_NUM printf(\ the number of is %d ;\\n$$$$$$$$$$$$$$$$$$$$$$$$$$$\\n\ return 1; }

of NODE

LEAF

…… 此处隐藏:794字,全部文档内容请下载后查看。喜欢就下载吧 ……
西电机电院自动化专业软件技术基础上机报告(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/438931.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)