Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21495

『アルゴリズム図鑑』のアルゴリズムをPython3で実装(バブルソート編)

$
0
0

この記事について

この記事では筆者が『アルゴリズム図鑑』を読んで学んだアルゴリズムについて、Python3での実装例を紹介したいと思います。今回のアルゴリズムはバブルソートです。筆者は素人です。色々教えていただけると幸いです。

筆者はPython2のことをよく知りませんが、自分がPython3を使ってるっぽいことだけはわかっています(Python3.6.0かな?)。そのため、記事のタイトルではPython3としました。

バブルソートについて

問題設定は下記とします。アルゴリズムの説明は省略します。『アルゴリズム図鑑』を参照ください。

問題

与えられた数の列に対して、小さい数から順に並べ替えた列を返す。
例:
 4, 3, 1, 2
→ 1, 2, 3, 4

実装コードと実行結果

実装したコードを以下に示します。最初に変数dataに代入されているリストが処理対象の数の列です。

コード

bubble_sort.py
data=[4,3,1,2]print("input    :"+str(data))data_len=len(data)forkinrange(0,data_len-1):i=data_len-1while(i-1>=k):ifdata[i-1]>data[i]:temp_data=data[i-1]data[i-1]=data[i]data[i]=temp_dataelse:passi-=1print("output   :"+str(data))

実行結果

$ python bubble_sort.py
input    :[4, 3, 1, 2]
output   :[1, 2, 3, 4]

終わりに

気づいた点などあればご指摘、ご質問いただければと思います。特にコードの書き方の改善点などあれば勉強になるなと思います。


Viewing all articles
Browse latest Browse all 21495

Latest Images

Trending Articles