标题:寻求高手查错------倒序建立双链表并判断是否对称(C语言)
只看楼主
youngqhong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-31
 问题点数:0 回复次数:1 
寻求高手查错------倒序建立双链表并判断是否对称(C语言)

#include<malloc.h>
#include<stdio.h>
typedef struct Dnode
{int data;
struct Dnode *prior;
struct Dnode *next;}Dnode,*Linklist;

Linklist create()
{Linklist l,p;
int t=1;
l=(Linklist)malloc(sizeof(Dnode));
l->next=NULL;
l->prior=l->next;
printf("Input '0' to create a dulinklist!\n");
p=(Linklist)malloc(sizeof(Dnode));
scanf("%d",&t);
p->data=t;
p->prior=l;
l->next=p;
p->next=l->prior;
while(t!=0)
{p=(Linklist)malloc(sizeof(Dnode));
scanf("%d",&t);
if(t==0) break;
p->data=t;
p->next=l->next;
l->next->prior=p;
p->prior=l;
l->next=p;
}
return l;
}
print(Linklist h)
{Linklist p;
p=h->next;
printf("\nNow the dulinklist as follows:\n");
while(p!=h->prior)
{printf("%d",p->data);
p=p->next;
}
}

symmetry(Linklist l,int t)
{Linklist p,q;
t=1;
p=l->next;
q=l->prior;

if(p->data!=q->data)
printf("\nIsn't symmetry!\n");

while(p!=q&&p->prior!=q)

{p=p->next;q=q->prior;
if(p->data!=q->data)
{printf("\nIsn't symmetry!\n");
t=0;
break;}
}

return t;

}

main()
{Linklist l;
int s=1;
l=create();
print(l);
s=symmetry(l, s);
if(s!=0)
printf("\nIs symmetry!\n");
}

搜索更多相关主题的帖子: C语言 倒序 双链 判断 
2007-04-08 07:22
longfeng867
Rank: 1
来 自:重庆
等 级:新手上路
威 望:1
帖 子:182
专家分:0
注 册:2007-5-20
得分:0 

symmetry(Linklist l,int t)
{Linklist p,q;
t=1;
p=l->next;
q=l->prior;

if(p->data!=q->data)
printf("\nIsn't symmetry!\n");

while(p!=q&&p->prior!=q)

{p=p->next;q=q->prior;
if(p->data!=q->data)
{printf("\nIsn't symmetry!\n");
t=0;
break;}
}

return t;

}

是否要判断输入的数为回文数?


在这个连处女膜都可以伪造的世界里,还有什么值得我相信!
2007-10-04 00:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-130075-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.265138 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved