|
发表于 2013-7-24 17:02:33
|
显示全部楼层
自己试着写一下,对比差距,学习
- //删除链表A中节点,增加链表B中节点
- //节点、链表定义
- typedef struct node
- {
- int sn;
- struct node *next;
- }Node;
- typedef struct list
- {
- int numbers;
- Node *head;
- }List;
- //声明定义
- List *lista,*listb;
- Node *nodea,*nodeb,*pnode,*temp;
- int i=0;
- //初始化链表A、B
- lista->head=pa;
- listb->head=pb;
- lista->numbers=Max;
- listb->numbers=1;
- //初始化链表A、B头节点及指针标记
- nodea=pa;
- nodeb=pb;
- pnode=pa;
- while(pnode!=NULL)
- {
- i++;
- temp=pnode->next; //暂存下一个节点
- if(i%2==1) //处理奇数项
- {
- nodea->next=pnode->next->next;
- nodea=nodea->next;
- }
- else //处理偶数项
- {
- nodeb->next=pnode;
- nodeb=nodeb->next;
- lista->numbers--;
- listb->numbers++;
- }
- pnode=temp; //取出下一个节点
- }
- nodea=nodeb=NULL;
复制代码 |
|