前提・実現したいこと
初歩的な質問で大変恐縮ではございますが、Python3でアルゴリズム(挿入ソート)を勉強中のプログラミング超初心者です。アルゴリズム(挿入ソート)の理解を深めたいのですが、ネストされたfor文+range関数の中身のデータの流れがいまいち理解できずにいます。
例えば。
全体のプログラムは、どのように流れていくのか?
range((i-1),-1,-1)のiにはどのようなデータが入るのか?
なぜ、(i-1)の箇所には括弧がついているのか?
そして、if文のa[j]の部分には、どんなデータが入るのか?
といった具合です。
申し訳ございませんが、ご教授いただければ幸いです。
発生している問題・エラーメッセージ
該当のソースコード
Python
1a = [10,3,1,4,2] 2for i in range(1,len(a)): 3 tmp = a[i] 4 ins = 0 5 for j in range((i-1),-1,-1): 6 if (a[j] > tmp): 7 a[j+1] = a[j] 8 else: 9 ins = j+1 10 break 11 a[ins] = tmp 12print('ソート後 = ', a)
試したこと
補足情報(FW/ツールのバージョンなど)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/07 21:34