分解一个循环单链表尾两个循环单链表
问题描述:已知一个带头节点的循环单链表中的数据元素含有正数和负数,试实现一个算法,创建两个循环单链表,使一个循环单链表中只含非负数数,另一个循环单链表中只含负数。
分析:初始时,先创建两个空的单链表a和b, 然后依次查看指针p指向节点的元素值,如果值为非负数,则将其插入a中;否则,将其插入b中。最后,使最后一个节点的指针域指向头节点,构成循环单链表。
#include <iostream>
using namespace std;
typedef struct node
{
int data;
node* next;
} listNode, *linkList;
linkList createCycList();
void split(linkList, linkList);
void dispCycList(linkList);
int main()