版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010095372/article/details/83381080
//结构体
typedef struct Node {
ElementType data;
struct Node * next;
} LNode, * LinkNode;
//链表前n个是不是中心对称
Status isSymmertricLink(LinkNode L, int n){
//本来要一个数组是最好的,无奈C语言不支持这个变量建数组,得用顺序表可以代替这用
//也就是不用靠next找下个,得需要一个连续存储才行
LinkNode p = L->next;
ElementType *arr = (ElementType *)malloc(sizeof(ElementType)*n);
int i;
for (i = 0; i < n; i++) {
if(p){
*(arr+i) = p->data;
p = p->next;
}else
{
return ERR;
}
}
//看看到底是不是对称,一个不是也不行
for (i = 0; i < n/2; i++) {
if(*(arr+i) != *(arr+n-i-1)){
return ERR;
}
}
return OK;
}