数据结构习题及答案

源代码在线查看: 2.33.c

软件大小: 52 K
上传用户: GUAIGUAICHENGTI
关键词: 数据结构
下载地址: 免注册下载 普通下载 VIP

相关代码

				◆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->datadata>='A')
				    {
				      p->next=s;p=s;
				      s=s->next;p->next=lc;
				    }
				    else if(s->data>='0'&&s->data				    {
				      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);  
				}
				
							

相关资源