公共排序-110303/10252

来源:互联网 发布:匈牙利佩奇大学 知乎 编辑:程序博客网 时间:2024/04/29 20:58

#include <string.h>

#include <ctype.h>

void search(char a[],int aLen,char b[],int bLen)

{

   int maxLen = aLen>bLen?aLen:bLen;

    

   char* s = (char*)malloc(sizeof(char)*maxLen);

   int index = 0;

   for (int i =0;i < aLen;++i)

    {

       for (int j =0;j < bLen;++j)

        {

           if (toupper(a[i]) ==toupper(b[j]))

            {

                s[index++] = a[i];

            }

        }

    }

   int alphe[26] = {0};//位图查找过滤相同的

    

   for (int i = --index;i >=0;--i)

    {

        alphe[s[i]-'a'] =1;

    }

   for (int i =0;i <= 26;++i)

    {

       if (alphe[i])

        {

           printf("%c",i+97);

        }

        

    }

   free(s);

    s =NULL;

}


int main(int argc,const char * argv[])

{

   char a[20];

   char b[20];

   strcpy(a, "pretty");

   strcpy(b, "women");

   search(a,6,b,5);

   printf("\n");

   strcpy(a, "walking");

   strcpy(b, "down");

   search(a,(int)strlen(a),b,(int)strlen(b));

   printf("\n");

   strcpy(a, "the");

   strcpy(b, "street");

   search(a,(int)strlen(a),b,(int)strlen(b));

   return 0;

}


原创粉丝点击