KATUBLO
2019年01月27日

【アセンブラ言語】配列と連結リストの違いを簡単にまとめたよ!

ゴール

配列と連結リストの特徴を理解し、それぞれのメリットデメリットを理解する。

 

 

配列

番号が定められた箱に値を入れていく。これらの箱の集合を配列と呼ぶ。

 

適当なコードで書くと

 

Xという配列がある。

 

X[0] = 1

X[1] = 2

X[2] = 3

X[3] = 4

X[4] = 5

 

の値が入っている。

 

 

メリット

指定のデータにアクセスするときの時間が一定

 

デメリット

値を挿入するとき、挿入された値以降がずれてしまう。

これは何なのかというと

 

 

X[0] = 1

X[1] = 2

X[2] = 3

X[3] = 100  ←挿入

X[4] = 4

X[5] = 5

 

もとの[3]に入っていた値が[4]に移動するように挿入された値以降が1つずれる。

 

連結リスト

値(データ)の入った箱を電車のように繋げていくような形でデータを保管する。

 

イメージ的にはこんな感じ。

 

[1]→[2]→[3]→[4]→[5]

 

 

メリット

値を挿入するとき、その前後のみを繋なぎ直せば、値を挿入できる点。

 

説明すると

 

[1]→[2]→[3]→{[100]}→[4]→[5]

 

100を上の場所に挿入したい。

 

[3]の向かう先を[100]

[100]の向かう先を[100]

にすれば挿入ができる。

 

[1]→[2]→[3]→[100]→[4]→[5]

 

 

デメリット

任意の番号の値にはアクセスしづらい。

(少し詳しく説明するとポインターと呼ばれるものを辿ってアクセスを行うためアクセスが少々厄介)

 

 

感想・気づき

この話はポインタに関する冒頭部分の話でもある。次の記事でポインタについて書こうと思います。

また以下のqiitaの記事でjavaを用いて配列、リストに関する情報がいい感じにまとめられていました。参考までにどうぞ。

 

 

最後まで読んで頂き
ありがとうございました。
SNS等でのシェアが頂ければ幸いです。

プロフィール

@KATUO

現在都内私立大学に通う大学3年生。大学では電気電子工学を専攻。大学2年の夏頃に、プログラマーの長期インターン募集の広告が目に止まり、独学でプログラミングの学習をスタート。この時期からプログラミングにどハマりし、現在までに「AIスタートアップ」「Webマーケティング会社」でエンジニアとしての業務に没頭してきた。

過去の投稿