| 
 | 
 
 
发表于 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;
 
  
  复制代码 |   
 
 
 
 |