第八周 项目三 顺序串算法(4)

来源:互联网 发布:java命令行执行junit 编辑:程序博客网 时间:2024/06/05 09:35
/*   *Copyright (c)2015, 烟台大学计算机与控制工程学院   *All rights reserved.   *文件名称:Graph.cpp   *作    者:苏凯祺   *完成日期:2014年12月17号   *版 本 号:v1.0   *问题描述:采用顺序存储方式存储串,实现下列算法并测试: (4)有两个串s1和s2,设计一个算法求一个这样的串,该串中的字符是s1和s2中公共字符。所谓公共子串,是由在s1中有,且在s2中也有的字符构成的字符。例s1为”message”,s2为”agent”,得到的公共子串是”eage”。 SqString CommChar(SqString s1,SqString s2);*头文件sqstring.h见顺序串算法库)*/  #include <stdio.h>#include "sqString.h"SqString CommChar(SqString s1,SqString s2){    SqString s3;    int i,j,k=0;    for (i=0; i<s1.length; i++)    {        for (j=0; j<s2.length; j++)            if (s2.data[j]==s1.data[i])                break;        if (j<s2.length)            //s1.data[i]是公共字符        {            s3.data[k]=s1.data[i];            k++;        }    }    s3.length=k;    return s3;}int main(){    SqString s1, s2, s;    StrAssign(s1, "message");    StrAssign(s2, "agent");    s = CommChar(s1, s2);    DispStr(s);    return 0;}

运行结果:


0 0