zoukankan      html  css  js  c++  java
  • 第三章 串结构

    串是一种线性表,它特殊在:

    1)数据元素都是来自字符集!

    2)由于数据元素特殊,它的操作有些不同于一般线性表,例如:操作的对象一般是对子串(即一组数据元素)而不是单个数据元素!

    1、串(String):简单说,它是有限字符集中的零个或多个字符组成的有限序列。

    它的操作对象一般不再是单个数据元素,而是一组数据元素。

    2、串的术语:

    空串:长度为零的字符串,n=0;

    空格串:数据元素都是空格的字符串;

    子串:串中连续的任意个字符组成的子序列,称为该串的子串;

    主串:包含子串的串;

    字符在串中的位置:字符在串中的序号(即第几个数据元素);

    子串在串中的位置:子串的第一个字符在主串中的位置;

    串相等:两个串的长度相等,且各对应位置处的字符都相等;

    3、串的操作:

    串置空 SetNULL(s)

    串赋值 Assign(s,t) Create(s,ss)

    判断串是否相等 Equal(s,t)

    串联结 Concat(s,t)

    取子串 Substr(s,start,len)   Substr(s,start,end)

    定位 Index(s,t)

    串置换 Repacle(s,t,v)

    串插入 Insert(s,pos,t)

    串删除 Delete(s,pos,len)

    判空串 ISNULL(s)

    4 ADT(略)

    例1:利用判断串相等,求串长度、求子串操作实现定位操作。

    int index(String S, String T, int ps)
    {//T为非空串,若主串S中第pos个字符之后存在与T相等的子串,
        //则返回第一个这样的子串在S中的位置
        if (pos>0)
        {
            n=StrLength(S);
            m=StrLength(T); i=pos;
            while(i<n-m+1)
            {
                SubString(sub,S,i,m);
                if(StrCompare(sub,T)!=0)
                    ++i;
                else return i;
            }
        }
    return 0;
    }

    5、串操作的实现(略)

  • 相关阅读:
    Android学习笔记之-----讯飞语音识别实例化RecognizerDialog参数出现错误的解决方法
    java基本数据类型取值范围
    中国教育
    git push --help
    cherry Tree的严重漏洞
    程序的核心是什么
    BeanUtils.getProperty性能分析
    Java各种反射性能对比
    Spring AOP无法拦截Controller中的方法
    Mock单元测试
  • 原文地址:https://www.cnblogs.com/shamoof/p/3669459.html
Copyright © 2011-2022 走看看