【数据结构】(单链表)将一个链表分为两个带头节点链表其中链表A含有原表中序号为奇数的元素 链表B含有原表中序号为偶数的元素

算法思想:这个就比较简单了就是,定义一个计数器判断当前计数器是技术还是偶数然后通过头插法,或者尾插法建立链表即可

LinkList DisCreate_1(LinkList &A){
	if(A->next==NULL) return NULL;
	int count=0;
	LinkList B;
	B=(LinkList)malloc(sizeof(LNode));
	B->next==NULL;
	LinkList r=B; ///尾插法建立B链表使链表有序 
	LinkList cur=A->next;
	LinkList pre=A;
	
	while(cur){
		count++;
		if(count%2==0){
			pre->next=cur->next;
			cur->next=r->next;
			r->next=cur;
			r=cur;
			cur=pre->next;
		}else{
			pre=pre->next;
			cur=cur->next; 
		}
	}
	r->next=NULL;
	return B;
} 

你可能感兴趣的:(数据结构【链表】)