⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2.33.c

📁 数据结构习题及答案
💻 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 + -