- 英
- sequence、arrangement、array、constellation、arrange、sequential
- 関
- 協定、経時的、系列、結果、シークエンス、シーケンス、順序、準備、筋道、整列、取り計らう、配置、配列決定、連続、連続的、逐次、結果としての、時系列、並べる、アレイ、順次、整理
array_unique()
for ( $i = 0 ; $i < 5 ; $i++ ) {
$a['w'][$i] = $i+100;
$a['m'][$i] = 1;
}
for ( $i = 5 ; $i < 15 ; $i++ ) {
$a['w'][$i] = $i+100;
$a['m'][$i] = 2;
}
for ( $i = 15 ; $i < 20 ; $i++ ) {
$a['w'][$i] = $i+100;
$a['m'][$i] = 3;
}
$a['w'][5]=100;
$a['w'][15]=100;
var_dump($a);
$b = array_unique($a['w']); #配列 重複キー 消去
var_dump($b);
-----
array(2) {
["w"]=> array(20)
{
[0]=> int(100) [1]=> int(101) [2]=> int(102) [3]=> int(103) [4]=> int(104) [5]=> int(100) [6]=> int(106) [7]=> int(107) [8]=> int(108) [9]=> int(109) [10]=> int(110) [11]=> int(111) [12]=> int(112) [13]=> int(113) [14]=> int(114) [15]=> int(100) [16]=> int(116) [17]=> int(117) [18]=> int(118) [19]=> int(119) }
["m"]=> array(20)
{
[0]=> int(1) [1]=> int(1) [2]=> int(1) [3]=> int(1) [4]=> int(1) [5]=> int(2) [6]=> int(2) [7]=> int(2) [8]=> int(2) [9]=> int(2) [10]=> int(2) [11]=> int(2) [12]=> int(2) [13]=> int(2) [14]=> int(2) [15]=> int(3) [16]=> int(3) [17]=> int(3) [18]=> int(3) [19]=> int(3) } }
array(18) {
[0]=> int(100) [1]=> int(101) [2]=> int(102) [3]=> int(103) [4]=> int(104) [6]=> int(106) [7]=> int(107) [8]=> int(108) [9]=> int(109) [10]=> int(110) [11]=> int(111) [12]=> int(112) [13]=> int(113) [14]=> int(114) [16]=> int(116) [17]=> int(117) [18]=> int(118) [19]=> int(119) }
配列の要素の除去
array_pop
- 配列のインデックスから、末尾にあるインデックス1つを取り除く。指定した変数の配列が空だった場合には、null が帰される。
配列の結合
- 1. +演算子。同じキーを上書きする。
- 2. array_push(array, array)とすると、出力が array([0]->array, [1]->array)になる。
- 3. array_match(out_array, add_array)これでokだが、add_array = array();だとエラーが起こるので、適当なトラップが必要。 ← array_mergeの間違えでしょ?
配列要素の結合
$str = implode('/',$array);
配列の要素表示
WordNet
- arrange thoughts, ideas, temporal events; "arrange my schedule"; "set up ones life"; "I put these memories with those of bygone times" (同)set_up, put, order
- make arrangements for; "Can you arrange a meeting with the President?" (同)fix_up
- adapt for performance in a different way; "set this poem to music" (同)set
- put into a proper or systematic order; "arrange the books on the shelves in chronological order" (同)set_up
- especially fine or decorative clothing (同)raiment, regalia
- an arrangement of aerials spaced to give desired directional characteristics
- an impressive display; "it was a bewildering array of books"; "his tools were in an orderly array on the basement wall"
- an orderly arrangement; "an array of troops in battle order"
- a configuration of stars as seen from the earth
- determine the order of constituents in; "They sequenced the human genome"
- a following of one thing after another in time; "the doctor saw a sequence of patients" (同)chronological sequence, succession, successiveness, chronological succession
- film consisting of a succession of related shots that develop a given subject in a movie (同)episode
- serial arrangement in which things follow in logical order or a recurrent pattern; "the sequence of names was alphabetical"; "he invented a technique to determine the sequence of base pairs in DNA"
- several repetitions of a melodic phrase in different keys
- arrange in a sequence
- the act of arranging and adapting a piece of music (同)arranging, transcription
- an organized structure for arranging or classifying; "he changed the arrangement of the topics"; "the facts were familiar but it was in the organization of them that he was original"; "he tried to understand their system of classification" (同)organization, organisation, system
- an orderly grouping (of things or persons) considered as a unit; the result of arranging; "a flower arrangement"
PrepTutorEJDIC
- …'を'『整理する』,『整える』;…'を'配置する,配列する / (前もって)…'を'『手配する』,準備する / …'を'前もって決める(打ち合わせる) / …‘の'調停をする / (…用に)…'を'編曲する《+『名』+『for』+『名』》 / 『手配する』,準備をする / (…と…について)打ち合わせる,協定する,取り決める《+『with』+『名』+『about』(『for』)+『名』》
- 〈軍隊など〉'を'整列させる,配置する / 《文》〈人〉‘に'衣類を着せる,(特に)〈人〉'を'盛装させる / 〈U〉整列,陳列 / (…の)整列(配置)した物(人),勢ぞろい《+『of』+『名』(複数)》 / 〈U〉衣装,(特に)美しい装い
- 引き続いて起こる,結果として起こる
- 〈C〉星座;星位 / 〈C〉《胚》(名士・美女などの)きら星のように並んだ集まり《+『of』+『名』》
- 〈U〉〈C〉(時間の上の,また因果関係のつながりによる)『連続』,続き / 〈C〉《a~》(…の)一連のもの《+『of』+『名』》 / 〈U〉(起こる)『順序』(order),筋道 / 〈C〉(…に対する)結果《+『to』+『名』》
- 〈U〉(…の)『整理』,『配置』,配列《+『of』+『名』》 / 〈C〉整理(配列)した物 / 〈C〉整理(配置,配列)の仕方 / 《複数形で》(…の)手はず,準備《+『for』+『名』(do『ing』)》 / 〈C〉〈U〉協定,取り決め;和解,合意 / 〈U〉(音楽の)編曲;〈C〉編曲した曲
Wikipedia preview
出典(authority):フリー百科事典『ウィキペディア(Wikipedia)』「2014/03/06 08:44:10」(JST)
[Wiki ja表示]
|
この項目では、プログラミング言語の配列について記述しています。DNAの配列については「塩基配列」を、タンパク質の配列については「アミノ酸配列」を、コンピュータのキーボードにおける配列については「キー配列」をご覧ください。 |
配列(はいれつ、Array)は、プログラミングにおけるデータ構造の一つ。科学技術計算分野ではベクトルという場合もある。また、リストも参照。
配列はデータの集合であり、添え字で個々の要素を区別するものを指す。古典的なプログラミング言語では同じデータ型の集合に限定されるが、比較的新しい言語や多くの高水準言語では異なった型も格納することができる。例えばJavaScriptでは一般的なオブジェクトも一種の連想配列である。
目次
- 1 配列とは
- 2 計算オーダー
- 3 さまざまな配列
- 3.1 連想配列
- 3.2 動的配列
- 3.3 多次元配列
- 3.4 ジャグ配列
- 4 脚注
配列とは[編集]
通常、変数には1つの値しか格納できない。しかし、ときには、ある関係を持つ複数の値を格納できる変数があると都合の良いことがある。その場合に用いられるのが配列である。例えば、6人の生徒の平均点を計算するプログラムを書くとする。それぞれの生徒の点数を格納する変数は、愚直に考えれば、次のC言語で書かれた例のように個別に宣言することになるだろう。
int score1;
int score2;
int score3;
...
より良い解は6要素の配列変数を宣言することである。
このようにすると、Cではscore[0]からscore[5]までの6つの要素を持った配列変数が作られる[1]。
計算オーダー[編集]
配列内のデータへのアクセスはO(1)時間でできるが、線形リストと異なり、挿入・削除にはO(n)時間かかる。探索は一般的には線型探索になるためO(n)時間かかるが、データがソート済みであれば二分探索を使うことでO(log n)に短縮することもできる。
さまざまな配列[編集]
連想配列[編集]
「連想配列」も参照
配列内のあるデータにアクセスする際は、添え字でどのデータにアクセスするか指定する。古典的な言語では添え字は非負整数であり、配列の最初の要素を指定する番号は通例0または1である(始まりの番号を指定できる言語もある)。一方、文字列など他のデータ型を添え字に使用できる配列を連想配列という。
動的配列[編集]
要素数によって自動的にサイズが拡張する配列。可変長配列とも言われる。逆に決まった要素数しか格納できない配列を静的配列と言う。ライブラリで提供されるもの(C++、Java、.NETなど)と言語に組み込まれているもの(PerlやDなど)がある。
動的配列はただの動的に確保された配列とは異なる。
多次元配列[編集]
配列は、1次元だけではなく2次元・3次元などの多次元配列もつくることができる。a[i][j]
、a[i, j]
などの方式で添字を指定する。
C言語やJavaでは多次元配列がサポートされていないと誤解されることが多いが、CやJavaで多次元配列を定義したとき(配列の中に配列を定義したとき)には、C言語は行×列の要素のメモリが連続的に確保されJavaはヒープ領域にオブジェクトとして複数の異なる配列を一つの配列の要素が参照する形をとるので、サポートされていると考えるべきである。
この際、要素へのアクセスはa[i][j]
のように「配列の配列」として記述する。ただし「配列の配列」は言語によっては「ジャグ配列 (jagged arrays)」として理解され、「多次元配列」という言葉とは明確に区別される場合がある。
さらに、Cでは用途に応じて「配列へのポインタの配列」を用意するなどして、擬似的に多次元配列を実現することもある。この場合も、a[i][j]
のように要素にアクセスするが、sizeof (a)
の結果の比較からも分かるように、両者の内部構造はまったく異なる。以下の図はこのようにして擬似的に実現した多次元配列の例である。
ジャグ配列[編集]
ジャグ配列は、不規則配列とも言われ、多次元配列の一種であり、同一次元内での要素数が揃っていないことがあり得るものを言う。これに対して通常の多次元配列を指す場合、矩形配列などと言う。特にC#では通常の配列と区別する表記を言語が直接用意している。イメージ的にはより「配列の配列」に近い。
- 縦軸を1次元目、横軸を2次元目とし、●を配列に格納されている要素とする。
脚注[編集]
- ^ 言語によっては0番目から6番目までの(計7個の)要素を持つという意味の場合がある。
データ構造 |
|
データ型 |
コレクション - コンテナ - タプル
|
|
リスト |
配列 - 両端キュー - 連結リスト - キュー - スタック - リングバッファ - スキップリスト
|
|
連想配列 |
ハッシュテーブル (ハッシュ関数 - コンシステントハッシュ法 - 分散ハッシュテーブル) - マルチマップ
|
|
セット |
マルチセット - 素集合データ構造
|
|
木 |
二分木
|
2分探索木 - 三分探索木
|
|
平衡木
|
2-3木 (2-3 フィンガーツリー) - 2-3-4木
|
|
B木
|
B+木 - B*木
|
|
平衡2分探索木
|
AA木 - AVL木 - 赤黒木 - スプレー木 - Treap - 木の回転
|
|
ヒープ
|
二分ヒープ - 二項ヒープ - フィボナッチヒープ
|
|
トライ木
|
基数木 - 接尾辞木 (接尾辞配列)
|
|
BSP木
|
四分木 - 八分木 - kd木
|
|
計算幾何学
|
区間木 - R木
|
|
|
グラフ |
有向グラフ - 無閉路有向グラフ - 二分決定グラフ - ハイパーグラフ
|
|
データ構造一覧 |
|
UpToDate Contents
全文を閲覧するには購読必要です。 To read the full text you will need to subscribe.
Japanese Journal
- ナノ粒子の配列複合化と機能化 (特集 ナノ粒子の分散とアセンブリ)
- 高見 誠一,冨樫 貴成,北條 大介 [他]
- Ceramics Japan : Bulletin of the Ceramic Society of Japan 47(8), 613-615, 2012-08
- NAID 40019361132
- 酸化亜鉛の粒界における原子配列および偏析元素の存在状態 (特集 機能元素が拓く新しいセラミックス材料の世界)
- 佐藤 幸生
- Ceramics Japan : Bulletin of the Ceramic Society of Japan 47(7), 524-527, 2012-07
- NAID 40019323277
- RGBW画素配列を用いたTFT-LCDの低消費電力化 (省エネ化と高性能化技術)
- 軟体動物平滑筋Ca 結合蛋白質の単離とアミノ酸配列解析
- 鈴木 季直,Suzuki Suechika,志澤 哲郎,Shizawa Tetsurou,田原 聖一,Tahara Seiichi,小林 照幸,Kobayashi Teruyuki,山辺 智代,Yamanobe Tomoyo
- Science Journal of Kanagawa University 23, 45-50, 2012-06-30
- 原著To elucidate the intracellular localization of a Ca-binding protein,MCBP‐450,andits regulatory mechanism of contraction,it has been thought that an experiment using immunoelectron microscopy would b …
- NAID 120004403009
Related Links
- 配列(はいれつ、Array)は、プログラミングにおけるデータ構造の一つ。科学技術計算 分野ではベクトルという場合もある。 配列はデータの集合であり、添え字で個々の要素 を区別するものを指す。古典的なプログラミング言語では同じデータ型の集合に限定され る ...
- 2次元配列とは、縦横の 2次元で配列を考えるものです。 第2章で説明した配列は縦 方向のみの 1次元配列になります。 (3次元以上もありますがあまり ... プログラムの 先頭で型と配列名、縦(行)と横(列)の大きさの宣言を行います。 ※ 概念上は上の図の ように ...
Related Pictures
★リンクテーブル★
[★]
- 関
- 配列
- 指定した値を配列で検索し、見つかった場合に対応するキーを返す
mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )
haystack において needle を検索します。
- 以下の配列に対して
- array(20) { [0]=> string(5) "aaaa " [1]=> string(26) "*カテゴリ [#d6b69c08] " [2]=> string(19) "内科:内科: " [3]=> string(142) "プレ内科:プレ内、ぷれ内、プレ内、内科プレ、内科プレ、内科ぷれ、内プレ、内プレ、内ぷれ: " [4]=> string(41) "第一外科:一外、1外、1外: " [5]=> string(41) "第二外科:二外、2外、2外: " [6]=> string(43) "脳神経外科:脳神経外、脳外: " [7]=> string(25) "産婦人科:産婦: " [8]=> string(22) "小児科:小児: " [9]=> string(25) "整形外科:整形: " [10]=> string(25) "放射線科:放射: " [11]=> string(22) "麻酔科:麻酔: " [12]=> string(19) "救急:救急: " [13]=> string(22) "皮膚科:皮膚: " [14]=> string(16) "眼科:眼: " [15]=> string(52) "耳鼻咽喉科:耳鼻咽喉、耳鼻、咽喉: " [16]=> string(25) "泌尿器科:泌尿: " [17]=> string(22) "精神科:精神: " [18]=> string(55) "歯科口腔外科:歯科口腔、歯科、口腔: " [19]=> string(43) "和漢診療科:和漢診療、和漢: " }
- echo array_search("*カテゴリ", array);
[★]
- 英
-
- 関
- 一連、系、継続、継続性、継続的、稽留、系列、結果、シークエンス、シーケンス、シリーズ、持続性、持続的、順序、筋道、存続、続く、続ける、配列、配列決定、頻繁、連続性、連続的、絶えず、持続型、連発
[★]
- 英
- result、consequence、product、sequence、outcome、output、resultant
- 関
- 意義、帰する、帰着、産出量、産物、シークエンス、シーケンス、出力、重要性、順序、筋道、生成物、成績、排出量、配列、配列決定、拍出量、予後、連続、成績体、製品、結果として生じる、成果、研究結果、事象、転帰、成り行き
[★]
- 関
- 配列
PHP
int array_push ( array &array, mixed var [, mixed ...] )
- array_push()は、array をスタックとして処理し、渡された変数を array の最後に加えます。配列 array の長さは渡された変数の数だけ増加します。 各 var 毎に以下を繰り返すことと同じ効果があります。
- 注意: もし配列にひとつの要素を加えるために array_push() を使用するなら、 関数を呼ぶオーバーヘッドがないので、$array[] = を使用する
[★]
- 関
- a sequence of、arrange、arrangement、array、barrage、consecutive、consequence、constellation、continually、continue、continuous、order、ordinal、outcome、output、product、result、resultant、sequencing、sequential、serial、series、thread
[★]
- 英
- expressed sequence tag
- 関
- 発現遺伝子配列断片
[★]
- 英
- sequence alignment
- 関
- 配列アライメント
[★]
- 英
- [[]]
- 同
- ARS
- 関
- [[]]
- 同
- ARS
[★]
- 英
- DNA sequence
- 関
- DNA配列
[★]
- 英
- element-binding protein
[★]
- 英
- row、tier、train
- 関
- 作条、訓練、層、連、段