PythonプログラミングノックDay235 初心者向けソート・探索 #プログラミング #python #初心者

初心者

初心者向けのPythonのプログラミング問題です。入門編としてチャレンジしてください。Pythonの正答例は以下になります。

問題703
def bubble_sort(lst):
n = len(lst)
for i in range(n):
for j in range(n – i – 1):
if lst[j] > lst[j + 1]:
lst[j], lst[j + 1] = lst[j + 1], lst[j]
return lst

# 呼び出し例
lst = [5, 2, 4, 1]
print(bubble_sort(lst)) # 出力: [1, 2, 4, 5]

問題704
def selection_sort(lst):
for i in range(len(lst)):
min_index = i
for j in range(i + 1, len(lst)):
if lst[j] < lst[min_index]:
min_index = j
lst[i], lst[min_index] = lst[min_index], lst[i]
return lst

# 呼び出し例
lst = [4, 1, 3, 2]
print(selection_sort(lst)) # 出力: [1, 2, 3, 4]

問題705
def insertion_sort(lst):
for i in range(1, len(lst)):
key = lst[i]
j = i – 1
while j ≥ 0 and lst[j] > key:
lst[j + 1] = lst[j]
j -= 1
lst[j + 1] = key
return lst

# 呼び出し例
lst = [5, 2, 9, 1, 3]
print(insertion_sort(lst)) # 出力: [1, 2, 3, 5, 9]

コメント

タイトルとURLをコピーしました