···6677`push_swap` sorts a sequence of integers using exactly two stacks (`a` and `b`) and a fixed set of operations, printing the shortest operation sequence it can find to stdout. The program implements four distinct sorting strategies — Simple, Medium, Complex, and Adaptive — and selects among them based on a runtime flag or, by default, by measuring how disordered the input is.
8899-The project was completed as a group by:
1010-1111-| Login | Contributions |
1212-|-------|--------------|
1313-| gvoelkne (gabriel) | Parser, input validation, arg handling, benchmark infrastructure, disorder metric |
1414-| jkrishna (jay) | Stack data structure, all operators, sorting algorithms |
1515-169## Instructions
17101811**Build**
···88818982## Resources
90839191-- Cormen et al., *Introduction to Algorithms* (CLRS) — sorting algorithms and complexity analysis
9292-- Knuth, *The Art of Computer Programming*, Vol. 3 — sorting and searching
8484+- youtube: radix sort, linked lists
9385- Wikipedia: [Insertion sort](https://en.wikipedia.org/wiki/Insertion_sort), [Radix sort](https://en.wikipedia.org/wiki/Radix_sort)
9486- 42 community push_swap visualiser: [https://github.com/o-reo/push_swap_visualizer](https://github.com/o-reo/push_swap_visualizer)
95879688**AI usage.** Claude Code (Anthropic) was used throughout the project:
9797-- Generating boilerplate Makefile rules and header guards to reduce repetitive typing.
9889- Explaining Big-O analysis for the chunk sort and radix sort variants in the push_swap operation model (i.e., counting operations rather than comparisons).
9999-- Drafting and refining this README against the subject's requirements.
100100-- Suggesting the `1.8√n` chunk-size tuning parameter as a starting point, which was then validated empirically.
9090+- Drafting documentation.
1019110292All AI-generated content was reviewed, tested, and understood by both group members before being accepted into the project.