2018.05.17 21:27

내가 만든 merge sort

조회 수 531 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form

void merge(int low,int mid,int high,int a[])
{
    int l1=low,l2=mid+1,i,j,b[max+1]={},end=0;
 
    printf("\nmerge start\nl1 = %d l2 = %d low = %d mid = %d high = %d\n",l1,l2,low,mid,high);
 
    for(i=low;end==0;i++) ///confused
    {
        printf("\nrunning for\ni = %d l1 = %d l2 = %d low = %d mid = %d high = %d\nb = ",i,l1,l2,low,mid,high);
 
        if(a[l1]>=a[l2])
            b[i]=a[l2++];
        else
            b[i]=a[l1++];
 
        end!=(l1<=mid)&&(l2<=high);
        //if(l1==l2)
        //    b[max]=a[l1];
 
        for(j=0;j<max+1;j++)
            printf("%d ",b[j]);
        printf("\na = ");
        for(j=0;j<max+1;j++)
            printf("%d ",a[j]);
        printf("\n    ");
 
        for(j=0;j<low*2;j++)
            printf(" ");
        printf("^");
        for(j=low*2;j<high*2-1;j++)
            printf(" ");
        printf("^\n");/**/
    }
 
 
 
    while(l1<=mid)
        b[i++]=a[l1++];
    while(l2<=high)
        b[i++]=a[l1++];
    printf("1\n");
    for(i=low;i<=high;i++)
        a[i]=b[i];
 
    printf("\nending merge\na = ");
    for(i=0;i<max+1;i++)
            printf("%d ",a[i]);
            printf("\n");/**/
}
 
void sort(int low,int high,int a[])
{
    if(low<high)
    {
        int mid=(low+high)/2;
        sort(low,mid,a);
        sort(mid+1,high,a);
        merge(low,mid,high,a);
    }
    else
        return;
}


아...... 힘들었다

  • profile

    #include<stdio.h>가 빠졌는데, 혹시 #으로 시작하는 문장을 사용할 때 자동으로 해시태그가 붙는 문제 때문에 사용하지 않으신 건가요? 그리고 어떤 IDE를 사용하시는 지는 모르겠지만, Dev-C++에서 컴파일하니 오류가 꽤 발생하네요... 죄송하지만 제가 C 왕초보라서 저도 이게 무슨 오류인지 모르겠어요 ㅠㅠ 변수가 정의되지 않은 것 같긴 한데요...



  • profile
    네모 2018.05.18 22:32

    max 변수가 없어서 b 변수도 선언이 안되거 같네요.
    테스트는 안해봤지만....
     
    int l1=low,l2=mid+1,i,j,b[max+1]={},end=0;
    int l1=low,l2=mid+1,i,j,b[high-low+1]={},end=0; 로!

  • ?
    title: 대한민국 국기gimmepoint 2018.05.22 21:19
    저는 함수만 써 놨습니다
    CODE BLOCKS 씁니다

  1. 잘못 쓰면 컴퓨터가 날아가는 코드

  2. 매우 특이한 버그

  3. 내가 만든 merge sort

  4. 내가 만든 함수 모음집 2

  5. 내가 만든 사칙연산 계산기

  6. 내가 만든 함수 모음집

  7. 클라이언트단에서 이미지 리사이징

  8. HEX를 RGB로, RGB를 HEX로 바꾸는 PHP 코드

  9. c 이진트리 전,중,후위 알고리즘

  10. html 초보가 만든 자소서

  11. Hello, World!를 출력해보자

  12. 아주 간단한 기초 C++

  13. 미완성 받아쓰기 (C)

  14. Cmd 에서 서비스 시작 / 종료하기

  15. CMD로 로컬 연결 고정 IP 설정하기

  16. 컴퓨터의 uuid 얻기

  17. 유튜브에 약간의 기능을 추가 해주는 크롬 확장 프로그램.

  18. 사이트 서버 이전 (또는 미러링 사이트 구축) 쉽게하는 스크립트

  19. 새 글 자동 댓글 스크립트 (AutoHotkey)

  20. 파이썬을 이용한 텔레그램 새 글 알림 (허접합니다)

Board Pagination Prev 1 2 3 4 Next
/ 4