📄 2.33.c
字号:
◆2.33③ 已知由一个线性链表表示的线性表中含有
三类字符的数据元素(如:字母字符、数字字符和其
它字符),试编写算法将该线性链表分割为三个循环
链表,其中每个循环链表表示的线性表中均只含一类
字符。
实现下列函数:
void Split(LinkList &lc, LinkList &ld, LinkList &lo, LinkList ll);
单链表类型定义如下:
typedef struct LNode{
ElemType data;
struct LNode *next;
} LNode, *LinkList;
void Split(LinkList &lc, LinkList &ld, LinkList &lo, LinkList ll)
{
LinkList s;
s=ll->next;
LinkList p,q,r;
p=lc;q=ld;r=lo;
while(s)
{
if(s->data<='z'&&s->data>='A')
{
p->next=s;p=s;
s=s->next;p->next=lc;
}
else if(s->data>='0'&&s->data<='9')
{
q->next=s;q=s;
s=s->next;q->next=ld;
}
else
{
r->next=s;r=s;
s=s->next;r->next=lo;
}
}
free(ll);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -