Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ImgSorting

재미로 만든 이미지 정렬 시각화. 이미지를 세로 100조각으로 섞은 뒤 정렬 알고리즘 38종으로 복원함.

실행

Releases에서 받아 실행.

  • Windows: ImgSorting-windows-x64.zip
  • macOS: ImgSorting-macos-universal.zip. 실행이 막히면 xattr -d com.apple.quarantine ImgSorting
  • Linux: ImgSorting-linux-x64.tar.gz

Controls 창에서 이미지·오디오(WAV·M4A) 불러오기, 시작·정지, 정렬 선택, 음량 조절(Volume 슬라이더). Linux에서 M4A는 ffmpeg 필요.

정렬 38종 (재생 순서)

Bubble, Cocktail Shaker, Odd-Even, Gnome, Comb, Selection, Cycle, Insertion, Pancake, Merge, Block Merge(WikiSort), In-Place Merge, Tim, Patience, Strand, Quick, PDQ(Pattern-defeating Quicksort), Tournament, Tree, Heap, Intro, Smooth, Shell, Counting, Pigeonhole, Bucket, Flash, Radix(MSD), Radix(in-place, 이진 MSD), Radix(LSD), Gravity, Bitonic, Stooge, Slow, Stalin, Bozo, Bogobogo, Bogo

Bozo·Bogobogo·Bogo는 끝나지 않아 10초 뒤 포기함. 마지막 Bogo 뒤 종료.

Radix(LSD)는 조각마다 오름차순 랜덤 10자리 키를 줘 10패스로 정렬함. 마지막 패스 전까지는 섞인 채로 보임.

General 모드

38종이 많을 때 학부에서 배우는 대표 정렬만 보는 모드. Controls 창 General 버튼으로 켜고 끔(켜지면 파란색). 켜면 정렬 목록, < >, 자동 재생이 아래 12종만 돌고 Bogo 뒤 종료함.

Bubble, Selection, Insertion, Merge, Quick, Heap, Shell, Counting, Bucket, Radix(LSD), Stalin, Bogo

Podman (Linux)

저장소를 받은 뒤 그 폴더(CMakeLists.txt가 있는 곳)에서 실행.

git clone https://github.com/FMsongX2/ImgSorting.git
cd ImgSorting
podman build -t imgsorting .
podman run --rm --userns=keep-id --security-opt label=disable -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix imgsorting

빌드

위와 같은 저장소 폴더에서 실행.

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DIMGSORTING_VENDOR_SDL=ON
cmake --build build --config Release

About

갑자기 생각나서 만드는 이미지 정렬 프로그램

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages