본문 바로가기

삽입정렬2

C++ - 더블 링크드리스트로 구현한 삽입, 버블정렬 지난번처럼 설명을 자세하게 적고 싶었는데.. 하다보니 코드가 너무 길어졌네요 ;ㅁ; 리스트를 이용하여 구현한 삽입정렬, 버블정렬입니다. 배열로 구현한 삽입정렬(http://topnanis.tistory.com/12)과 버블정렬(http://topnanis.tistory.com/11)은 링크를 참조하세요. 싱글로 할 걸 굳이 더블 링크로 구현 한 이유는.. 퀵정렬을 구현하려다.. 그만 두었기 때문이죠.. 막판에 넣은 스왑 디파인아까워..ㅠ퀵정렬시에는 재귀 함수에 인자값으로 배열의 크기(+피봇), 시작지점이 필요하므로 더블링크드가 더 적합하겠다 싶었습니다(배열쪽이 훨씬 편리한 것 같아요) 아래에 소스 첨부하였습니다. #include #include #define SWAP(x,y,t) (t=x), (x=y),.. 2012. 6. 1.
C - 알고리즘 - 삽입정렬 코드가 길어 행을 줄였습니다. 이렇게 하면.. 예쁘지는 않지만~ (사랑스러워~) 삽입정렬은.. 마치 [왕자와 거지]게임 같아서 한번 내동댕이 쳐진 숫자는 밑바닥에서부터 자리를 찾아 쏙 넣어진답니다..(-_-?)리스트를 이용한 삽입정렬은 링크를 참조하세요(http://topnanis.tistory.com/176)그림을 보면- #include #include //memmove함수사용 int main(void){ int temp=NULL;int data_set[]={8,6,7,9,4,3,5,2,1,10};for(int i=0; idata_set[i]) temp=data_set[i]; //정렬되지 않은 수를 temp에 태워 처음으로 보냄else continue; for(int j=0; j 2010. 5. 15.