すべてのPython unit 07-ソートを選択
13293 ワード
一般的な選択ソートアルゴリズム
まちがい
#선택정렬
#입력:리스트a
#출력:없음(입력으로 주어진 a가 정렬됨)
def sel_sort(a):
n=len(a)
for i in range(0,n-1): #0부터 n-2번까지 반복
#i번 위치부터 끝까지 자료값중 최솟값의 위치를 찾음
min_idx=i
for j in range(i+1,n):
if a[j]<a[min_idx]:
min_idx=j
#찾은 최솟값을 i번 위치로
#그러니까 아까처럼 리스트를 하나더 만들지 않고 한개 리스트 안에서 요소들의 위치를 바꿔버리면 된다!!
a[i],a[min_idx]=a[min_idx],a[i]
d=[2,4,5,1,3]
sel_sort(d)
print(d)
正解
#선택정렬
#입력:리스트a
#출력:없음(입력으로 주어진 a가 정렬됨)
def sel_sort(a):
n=len(a)
for i in range(0,n-1): #0부터 n-2번까지 반복
#i번 위치부터 끝까지 자료값중 최솟값의 위치를 찾음
min_idx=i
for j in range(i+1,n):
if a[j]<a[min_idx]:
min_idx=j
#찾은 최솟값을 i번 위치로
#그러니까 아까처럼 리스트를 하나더 만들지 않고 한개 리스트 안에서 요소들의 위치를 바꿔버리면 된다!!
a[i],a[min_idx]=a[min_idx],a[i] #이구문이 if문 밖으로 나와야 한다.
d=[2,4,5,1,3]
sel_sort(d)
print(d)
降順バージョン
#선택정렬
#입력:리스트a
#출력:없음(입력으로 주어진 a가 정렬됨)
#내림차순정렬
def sel_sort(a):
n=len(a)
for i in range(0,n-1): #0부터 n-2번까지 반복
#i번 위치부터 끝까지 자료값중 최솟값의 위치를 찾음
min_idx=i
for j in range(i+1,n):
if a[j]>a[min_idx]: #<를 >게 수정하면 된다.
min_idx=j
#찾은 최솟값을 i번 위치로
#그러니까 아까처럼 리스트를 하나더 만들지 않고 한개 리스트 안에서 요소들의 위치를 바꿔버리면 된다!!
a[i],a[min_idx]=a[min_idx],a[i]
d=[2,4,5,1,3]
sel_sort(d)
print(d)
余分な好奇心
なぜprint(関数(リスト)を簡単に説明し、通常の選択ソートはprint(d)で終わるのですか?
答え:通常選択ソートには値が返されません.
#선택정렬
#입력:리스트a
#출력:없음(입력으로 주어진 a가 정렬됨)
#내림차순정렬
def sel_sort(a):
n=len(a)
for i in range(0,n-1): #0부터 n-2번까지 반복
#i번 위치부터 끝까지 자료값중 최솟값의 위치를 찾음
min_idx=i
for j in range(i+1,n):
if a[j]>a[min_idx]: #<를 >게 수정하면 된다.
min_idx=j
#찾은 최솟값을 i번 위치로
#그러니까 아까처럼 리스트를 하나더 만들지 않고 한개 리스트 안에서 요소들의 위치를 바꿔버리면 된다!!
a[i],a[min_idx]=a[min_idx],a[i]
return a #이렇게 return 값을 지정하고
d=[2,4,5,1,3]
print(sel_sort(d))#이렇게 출력하면 값이 나온다!!
Reference
この問題について(すべてのPython unit 07-ソートを選択), 我々は、より多くの情報をここで見つけました https://velog.io/@jsk2342/모두의-파이썬-unit07-선택정렬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol