37

プログラミングにおけるベクトル、セット、タプルの違いは何ですか?

4

7 に答える 7

80
  • ベクトル: 同じタイプのオブジェクトの順序付けられたコレクション。
  • セット: オブジェクトの順序付けられていないコレクション。コレクションのタイプと言語によって同じタイプまたは異なる可能性があります。特定のオブジェクトは一度しか表示できません。
  • タプル: さまざまなタイプのオブジェクトの順序付けられたコレクション。
于 2009-06-09T23:02:26.023 に答える
21

Avectorは、重複を許可するアイテムの順序付けられたシーケンスです。

Asetは、順序付けされておらず、重複を許さないアイテムのコレクションです。

Atupleは、指定された長さの項目の順序付けられたシーケンスです。

于 2009-06-09T23:02:21.173 に答える
8

数学的に

タプルには、セットと区別するプロパティがあります。

  • タプルには同じ要素の複数のインスタンスが含まれる場合があるため、タプル (1,2,2,3) != (1,2,3) ですが、{1,2,2,3} = {1,2,3} を設定します。 .
  • タプル要素は順序付けられます: タプル (1,2,3) != (3,2,1) ですが、{1,2,3} = {3,2,1} に設定します。
  • タプルには有限数の要素が含まれますが、セットまたはマルチセットには無限の数の要素が含まれる場合があります。

ベクトルは、複数のタプルで表される別の型です。

乾杯 :-)

于 2016-10-17T14:45:02.807 に答える
6

タプルはオブジェクトの異種コレクションであり、単一のユニットとして扱う必要があります。たとえば、("John", "Smith", 30) は (String, String, Integer) タプルです。

リスト (C++ の場合: ベクトルでもあります) は、同種のオブジェクトのコレクションです。つまり、各オブジェクトを一様に扱うことができます。実際に同じ型かどうかは言語によって異なりますが、同じように処理できることがポイントです。

セットは、順序付けされていない一意の同種のコレクションです。含まれるオブジェクトとそのタイプはわかっていますが、どのような順序であるかはわかりません。また、各オブジェクトの 1 つだけが含まれています。

于 2009-06-09T23:06:18.950 に答える
3

ベクトルには順序があります

タプルは順序付けられており、繰り返し要素を持つことができます。

セットは順不同であり、繰り返し要素はセットを変更しません。

例: {a,b}、{b,a}、および {b,b,a} はすべて同じセットですが、(a,b)、(b,a) および (b,b,a) はすべての異なるタプル。

于 2012-07-10T10:34:37.817 に答える
0

ベクトルには順序がありますが、セットには順序がありません (重複することはできません)。タプルはベクトルに近いですが、通常は実際には構造体のように使用されます。

于 2009-06-09T23:02:48.347 に答える