Python
 Computer >> コンピューター >  >> プログラミング >> Python

シェルソートを実装するPythonプログラム


シェルソートを実装する必要がある場合、関数が定義され、これはリストとリストの長さを引数として取ります。このリストは、特定の数の要素にソートされます。ここで、要素の数は最大値です。これは、要素の数が最小値になるまで行われます。

これは、リスト内のすべてのサブリストに対して実行され、これらすべてのサブリストが並べ替えられます。

リストを使用して、異種の値(つまり、整数、浮動小数点、文字列などの任意のデータ型のデータ)を格納できます。

以下は同じのデモンストレーションです-

def shell_sort(my_list, list_len):
   interval = list_len // 2
   while interval > 0:
      for i in range(interval, list_len):
         temp = my_list[i]
         j = i
         while j >= interval and my_list[j - interval] > temp:
            my_list[j] = my_list[j - interval]
            j -= interval
         my_list[j] = temp
      interval //= 2

my_list = [ 45, 31, 62, 12, 89, 5, 9, 8]
list_len = len(my_list)
print ("The list before sorting is :")
print(my_list)
shell_sort(my_list, list_len)
print ("\nThe list after performing shell sorting is :")
print(my_list)

出力

The list before sorting is :
[45, 31, 62, 12, 89, 5, 9, 8]

The list after performing shell sorting is :
[5, 8, 9, 12, 31, 45, 62, 89]

説明

  • 「shell_sort」という名前のメソッドが定義されています。このメソッドは、リストとリストの長さを引数として取ります。
  • 「interval」変数は、「//」ビット演算子を使用して定義されます。
  • フロア分割を実行します。
  • 値を最も近い整数に切り捨てます。
  • リストが繰り返され、一時変数が作成されます。
  • 「interval」変数はリストのすべてのインデックスと比較され、リスト内のすべての要素は一時変数と比較されます。
  • 「interval」変数は、フロア分割を実行するために再び使用されます。
  • リストが定義され、コンソールに表示されます。
  • このリストとその長さを渡すことで、メソッドが呼び出されます。
  • 出力はコンソールに表示されます。

  1. Pythonプログラムでの選択ソート

    この記事では、Python3.xでの選択ソートとその実装について学習します。またはそれ以前。 選択ソート アルゴリズムでは、配列は、ソートされていない部分から最小要素を再帰的に見つけて、それを先頭に挿入することによってソートされます。特定の配列での選択ソートの実行中に、2つのサブ配列が形成されます。 すでに並べ替えられているサブ配列。 ソートされていないサブアレイ。 選択ソートを繰り返すたびに、ソートされていないサブアレイの最小要素がポップされ、ソートされたサブアレイに挿入されます。 アルゴリズムの視覚的表現を見てみましょう- それでは、アルゴリズムの実装を見てみましょう-

  2. 3Dリストを作成するPythonプログラム。

    3Dリストは3D配列を意味します。このプログラムでは、整数要素を使用して3D配列を作成します。 例 Input: 3× 3 × 2 [[1,1,1],[2,2,2],[3,3,3]], [[4,4,4],[5,5,5],[6,6,6]] アルゴリズム Step 1: given the order of 3D list. Step 2: using for loop we create list and print data. サンプルコード # Python program to created 3D list import pprint def print3D(i,