[Visual C++ 2017] 정렬을 시각화해 보았다 #1

소개



정렬 처리를 어쩐지 사용하고 있었기 때문에, 시각적으로 취급하고 싶었다.
버블 소트나 퀵 소트는 알고 있었지만, 다른 소트 알고리즘에는 희소하고, 자기 학습도 되어 좋은 기회라고 생각했다.

소트 알고리즘은, 참고가 되는 페이지가 Web상에는 많기 때문에, 이 투고에서는 할애.

Winsow 만들기



Windows 데스크탑 어플리케이션으로 신규 Window를 작성할 수 있다.



그리기


hPen MoveToEx() LineTo() 로 프레임 워크를 그립니다.hButtonWnd[] 로 버튼을 설치하여 초기화나 정렬 처리의 시작 등을 컨트롤 시킨다.

매우 소박한 인터페이스입니다만, 우선은 이것으로.

시각화



계산할 때마다 화면 업데이트가 필요하기 때문에 정렬 알고리즘 중에 InvalidateRect() UpdateWindow()를 넣었다.

sample.cpp
if (input_num[j - 1] > input_num[j]) {
    temp = input_num[j];
    input_num[j] = input_num[j - 1];
    input_num[j - 1] = temp;
    InvalidateRect(hWd, NULL, TRUE);
    UpdateWindow(hWd);
}

데이터 개수를 100개 준비하여 난수를 생성. 버블 정렬을 시도해보십시오.


목표를 달성할 수 있었던 것 같습니다.
다른 정렬도 충실하게 하고 싶습니다.

링크



아래 링크처에서는 많은 소트를 볼 수 있어 그 영향을 받았습니다.

15 Sorting Algorithms in 6 Minutes
htps //w w. 요츠베. 이 m/와 tch? v = kP 등 0W1 케 Cg

좋은 웹페이지 즐겨찾기