请高手指教一下哪里错了啊!它老出不来我想要的结果!
//.设有一个正整数组成的无序单链表,编写完成下列功能的算法://②若该数值是奇数,则将其与直接后继结点(若存在)的数值交换
//③若该数值是偶数,则将其直接后继结点(若存在)删除;
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
int data;
int cur;
}linklist[8];//单链表的静态存储结构
void Initspace_L(linklist space)
{
int i;
printf("请输入8个整数:");
for(i=0;i<8;i++)
scanf("%d",&space[i].data);
}
int bian(linklist space,int length)
{int i;
int temp;
for(i=0;i<8;i++)
{ space[i].cur=i+1;
if(space[i].data%2) //奇偶判断
if(space[i+1].cur)
{
temp=space[i].data;
space[i].data=space[i+1].data;
space[i+1].data=temp;
}
else
if(space[i+1].cur)
{
// space[i+1].cur=space[i+2].cur;
space[i+1].data=space[i+2].data;
space[length-1].cur=0;
// space[length-1].data=' ';
length--;
}
}
return length;
}
main()
{int temp,length,i;
linklist space;
length=8;
Initspace_L(space);
printf("链表的数值:");
for(i=0;i<8;i++)
printf("%d ",space[i].data);
temp=bian(space,length);
printf("\n新链表为:");
for(i=0;i<length;i++)
printf("%d ",space[i].data);
printf("\n");
}