1、1. 将 一 条 链 表 上 相 邻 的 二 个 结 点 合 并 成 一 个 结 点 , 即 将 第 一 个 结 点 与 第 二 结点 合 并 , 将 第 三 个 结 点 与 第 四 个 结 点 合 并 , 。 若 链 表 上 的 结 点 个 数 为奇 数 , 则 最 后 的 一 个 结 点 不 合 并 , 直 接 作 为 合 并 后 链 表 上 的 最 后 一 个 结 点 。链 上 结 点 的 数 据 结 构 为 : stuct node int data; struct node *next; ;2#include#includestruct Node int data;struct No
2、de *next;struct Node *p,*q=NULL,*head;void outline(struct Node *h) do printf(“%d “,h-data);h=h-next;while(h!=NULL);printf(“n“);int main() int i,j;p=head=(struct Node *)malloc(sizeof(struct Node);printf(“请输入结点个数:“);scanf(“%d“,printf(“请输入数据:n“);for(i=1;idata);p=p-next=(struct Node *)malloc(sizeof(struct Node);scanf(“%d“,p-next=NULL;p=head;while(p) if(q) q-data=q-data+p-data;q-next=p-next;q=NULL ; else q=p;p=p-next;printf(“合并后:n“);outline(head);return 0;