阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明] 若S和T是用结点大小为1的单链表存储的两个串,试设计一个算法找出S中第一个不在T中出现的字符。查找过程是这样的,取S中的一个字符(结点),然后和T中所有的字符一一比较,直到比完

admin2009-02-15  54

问题 阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明]
   若S和T是用结点大小为1的单链表存储的两个串,试设计一个算法找出S中第一个不在T中出现的字符。查找过程是这样的,取S中的一个字符(结点),然后和T中所有的字符一一比较,直到比完仍没有相同的字符时,查找过程结束,否则再取S中下一个字符,重新进行上述过程。
[函数]
    typedef struct node {
        char data;
   struct node *next;
   }LinkStrNode;  //结点类型
typedef LinkStrNode *LinkString; //LinkString 为链串类型
   LifikString S; //S 是链串的头指针
   char SearchNoin (  LinkString S,  LinkString T )
       {//查找不在T中出现的字符
           LinkStrNode *p, *q;
             (1);
           q=T;
   while ((2))
           {//取S中结点字符
               while((3))//进行字符比较
           q=q->next;
               if(q==NULL)  return  (4);//找到并返回字符值
       q=T;//指针恢复串T的开始结点
       ((5));
       }
   printf("there’s no such character.");
   return NULL:
}

选项

答案(1)p=S (2)p (3)q&&p->data!=q->data (4)p->data (5)p=p->next

解析
转载请注明原文地址:https://jikaoti.com/ti/BvW7FFFM
0

最新回复(0)