반응형
본 프로그램은 python 2.7.13에서 제작되었습니다.
부르트 포스를 이용한 내림차순 정렬 코드이다.
시간 복잡도가 O(n^2)이기에 상당히 비추천하는 코드이지만,
파이썬을 처음 공부하는 입장에서는 내림차순으로 정렬 하는 코드를 한번 쯤 만들어 볼만한 것 같다.
오름차순 정렬을 하고싶었다면 mylist.sort()를 하면 오름차순으로 정렬이 된다.
코드에 대한 설명은 다음과 같다.
이 코드를 알기위해 range라는 내장 함수가 도대체 뭔지부터 이해해야 한다.
for i in range(10)을 하면 range는 다음 값을 return해준다.
-> [0,1,2,3,4,5,6,7,8,9]
즉, 리스트를 반환해주고 있고 그 방식을 이용해 i는 0부터 끝까지, j는 i + 1부터 끝까지라는 개념을
for j in range(len(mylist))[i+1]로 range를 슬라이싱하여 구현 할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #-*- coding: utf-8 -*- def brute_sort(): global mylist for i in range(len(mylist)): for j in range(len(mylist))[i+1:]: if mylist[j] > mylist[i]: tmp = mylist[i] mylist[i] = mylist[j] mylist[j] = tmp mylist = [1,2,3,4,5,6] print brute_sort() print mylist // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Basic > Python' 카테고리의 다른 글
파이썬 10진수에서 2진수로 변환하는 프로그램 (5) | 2017.07.06 |
---|---|
파이썬 문자열을 입력받았을 때 서로 다른 문자인지 체크하는 코드 (0) | 2017.07.06 |
파이썬 str 전체 메소드 설명 및 예제 코드 (0) | 2017.07.04 |
파이썬 파일 입출력 및 기타 내용 (0) | 2017.07.04 |
파이썬 OS 모듈 및 명령어 (0) | 2017.07.04 |