/**
* 用链表实现 王道P40 T10
*
* ①算法思想:
* 设置 int 型变量 count 用来判断序号的奇偶性,
* 如果是奇数,就留在A中,如果是偶数,就放入B中。
*
* ②数据结构:
* typedef struct LNode{
int data;
struct LNode *next;
}LNode,*LinkList;
*
* ③算法设计
*/
#include <stdio.h>
#include <iostream>
typedef struct LNode{
int data;
struct LNode* next;
}LNode,*LinkList;
LinkList SplitABFromA(LinkList &A){
LinkList B = (LinkList)malloc(sizeof(LNode));
LinkList p = A -> next,q = B;
LinkList pre = A;//pre为p的前驱
int count = 1;
while(p){
if(count % 2 != 0){//奇数
pre = p;
p = p -> next;
}else{//偶数
pre -> next = p -> next;
q -> next = p;
q = p;
p = pre -> next;
}
count ++;
}
q -> next =NULL;
return B;
}
王道书P40 T10(单链表实现)
于 2022-07-12 16:03:04 首次发布