ホームページ >よくある問題 >文字列の構造は何ですか?

文字列の構造は何ですか?

青灯夜游
青灯夜游オリジナル
2020-07-18 12:08:0524532ブラウズ

文字列内の文字には「1 対 1」の論理関係があるため、文字列は線形の記憶構造です。ただし、前に学習した線形ストレージ構造とは異なり、文字列構造は文字型データを格納するためにのみ使用されます。

文字列の構造は何ですか?

#データ構造では、文字列は文字列記憶構造と呼ばれる別の記憶構造に保存されます。ここでの文字列とは文字列を指します。

厳密に言えば、文字列内の文字には「1 対 1」の論理関係があるため、文字列の記憶構造も線形記憶構造です。ただし、前に学習した線形ストレージ構造とは異なり、文字列構造は文字型データを格納するためにのみ使用されます。

どのプログラミング言語を学習しても、文字列は常に最も頻繁に操作されます。データ構造では、一部の特殊な文字列は、文字列に格納されている文字の数と特性に従って名前が付けられます。次に例を示します。

  • 空の文字列: 0 文字の文字列を格納します。 as S = "" (隣り合う二重引用符);

  • スペース文字列: S = " " (二重引用符には 5 つのスペースが含まれます) など、スペース文字のみを含む文字列。

  • サブ文字列とメイン文字列: 2 つの文字列 a と b があるとします。複数の連続する文字で構成される文字列が a で b とまったく同じである場合、a は次のようになります。 b の主文字列であると言われます。b は a の部分文字列です。たとえば、a = "shujujiego"、b = "shuju" の場合、a にも "shuju" が含まれるため、文字列 a と文字列 b が主文字列と部分文字列の関係になります。 ## スペース文字列は空文字列とは異なり、文字が含まれていますが、すべてスペースであることに注意してください。また、文字列 b が文字列 a の中に完全に出現する場合にのみ、b は a の部分文字列であると言えます。たとえば、「shujiejugou」と「shuju」は主文字列と部分文字列に関連しません。

  • さらに、メイン文字列とサブ文字列の間に関係がある 2 つの文字列の場合、通常、アルゴリズムを使用してメイン文字列内のサブ文字列の位置を見つけるように求められます。メイン文字列内のサブ文字列の位置は、メイン文字列内のサブ文字列の最初の文字の位置を指します。

たとえば、文字列 a = "shujujiego"、文字列 b = "jiegou" を観察すると、a と b が主文字列と部分文字列の関係であることが判断でき、同時に、文字列 a では文字列 b の最初の文字 'j' の位置が 6 であるため、部分文字列 b はメイン文字列 a.position の 6 番目の位置にあります。

文字列ストレージ構造の具体的な実装

文字列を保存するには、データ構造に次の 3 つの特定のストレージ構造が含まれます。

固定長シーケンシャルストレージ: 実際には、通常の配列 (静的配列とも呼ばれます) に保存されます。たとえば、C 言語で通常のデータを使用して文字列を格納するコードは次のとおりです。 char a[20] = "data.biancheng.net";

  • ヒープ割り当てストレージ: 動的配列を使用して、文字列を保存する;

  • ブロック チェーン ストレージ: リンク リストを使用して文字列を保存する;

  • 関連する知識の詳細については、

    PHP を参照してください。中国のウェブサイト
  • !

以上が文字列の構造は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。