•   1.串的定义
    由零个或者多个字符组成的有限序列
    主串 子串
      2.串的比较
    串的比较实际上是比较串的字符的编码
    字符编码:字符在相应字符集中的序号
    ASCII:8位二进制 256 中文 满文 朝鲜文
    Unicode: 16位
     
    比较规则:
    str1="zxcv"
    str2="zxcvb"
    1.n<m 且字符串1中的字符都包含在字符串2中 str1<str2
    2.存在某一个k<=min(n,m),使得ai=bi(i+1,2,3,4.....k)
    存在ak<bk
    那么str1<str2
    除去相等的字符,在第一个不相等的字符位置进行比较,以ASCII码比较
      3.串的抽象数据类型 用表示串值的终结
      4.Java中字符串为什么不以结尾
    ● 结尾在很大程度上要求程序员写规范的代码,如果写出了不规范的代码,那么很容易就内存越界了。
    ● 另外,string的内部存储是char[],而为了内存安全,java数组本来就有一个length属性,这时以结尾就是一个多余的设计了。
    ● String的内部存储也只能是char[]了,如果是其他的方式,比如通过native内部放一个c风格的数组,那么java代码中的char[]和string的转换就要很多内存拷贝操作了。
     
    5.串的顺序存储结构
    使用字符数组来表示。
    6.串额链式存储结构
    优点:操作方便
    缺点:存储密度比较低 (存储密度=串值所占的存储位/实际分配的存储位)
     
    两种链串:单个字符的串 字符数组串
  • 相关阅读:
    实验13读后感:《算法竞赛进阶指南》
    实验12图的m着色问题
    实验11哈夫曼编码
    极差 牛客-16736(单调栈,线段树)
    实验10相容问题
    实验9LCS算法
    实验8矩阵链乘法
    Array Without Local Maximums CF-1068D(计数DP)
    Save the Nature CF-1241C(二分、贪心)
    浅谈linux命令大全
  • 原文地址:https://www.cnblogs.com/had1314/p/11268062.html
Copyright © 2020-2023  润新知