게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
저만의 정렬 알고리즘을 고안해 보았습니다
게시물ID : programmer_10103짧은주소 복사하기
작성자 : RLC
추천 : 0
조회수 : 595회
댓글수 : 13개
등록시간 : 2015/05/15 20:46:32
어쩌다 보니 우연히 발견한 방법인데요, 제가 알던 방법이 아닌 새로운 방법이라서 글로 남겨봅니다. ㅎㅎㅎ
 
먼저 이 알고리즘은 자료의 크기에 거의 영향을 받지 않아요.
 
주어지는 자료의 범위에 영향을 많이 받도록 되어 있답니다.
 
아래는 소스코드와 간략한 설명이에요^^
 
 
noname03.gif
 
data[]에 다음과 같이 저장되어 있다고 가정하면
 
data[0]의 값이 5이니 data[5]에 1을 더해 주고,
 
data[1]의 값이 3이니 data[3]에 1을 더해 주고,... 하는 방법을 계속 수행을 하면 pos[]에 다음과 같이 저장이 됩니다.
 
그리고 출력할 때에는
 
pos[0]=0 이니 data[]에 0이 없다는 것이므로 출력을 하지 않고,
 
pos[1]=1 이니 data[]에 1이 1개 있다는 것이므로 1번 출력하고,
.
.
.
pos[3]=2 이니 data[]에 3이 2개 있다는 것이므로 2번 출력하고,.. 하는 과정을 반복하면 오름차순 정렬이 됩니다.
 
물론 반대 방향으로 내림차순도 됩니다.
 
-----------------------------------------------
 
이거 제가 제일 먼저 발견한 거 맞겠죠???????????
 
혹시 비슷한 방법이 이미 있다면 덧글 남겨주세요^^

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호