게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

리스트 정렬

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2005)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
김진현



가입: 2005년 9월 20일
올린 글: 91
위치: SNUCSE OPT. lab.

올리기올려짐: 2005년10월16일 20:23    주제: 리스트 정렬 인용과 함께 답변

필요해서 머지소트를 짜 보았는데, 더 좋은 방법은 없을까요?

코드:
fun  merge([], []) = []
    |merge(l1, []) = l1
    |merge([], l2) = l2
    |merge(h1::t1, h2::t2) =
        if h1 > h2 then h2::merge(h1::t1, t2)
        else h1::merge(t1, h2::t2)

fun  divide([], _, _, _) = ([], 0, [], 0)
    |divide(h1::t1, n1, l2, n2) =
        if n1 <= n2 then (h1::t1, n1, l2, n2)
        else divide(t1, n1-1, h1::l2, n2+1)

fun sortlist(l, n) =
    if n <= 1   then l
    else        let val (l1, n1, l2, n2) = divide(l, n, [], 0) in
                    let val sl1 = sortlist(l1, n1) in
                        let val sl2 = sortlist(l2, n2) in
                            merge(sl1, sl2)
                        end
                    end
                end

fun sort(l) = let val n = List.length l in sortlist(l, n) end


그런데 혹시 라이브러리에 리스트를 정렬하는 소스코드 같은 것은 없나요 -.-?

There may, indeed, be some application of this code than its use as a logic [?]
_________________
The kingdom of heaven has been forcefully advancing, and forceful men lay hold of it.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문 MSN 메신저
고우종



가입: 2005년 9월 28일
올린 글: 5

올리기올려짐: 2005년10월17일 0:26    주제: ... 인용과 함께 답변

코드:
List.sort compare [3, 2, 1];;


진현아[..]


게다가 List.sort 구현도 merge sort[..]
위로
사용자 정보 보기 비밀 메시지 보내기 MSN 메신저
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Fall 2005) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay