diff --git a/Userland/sort.cpp b/Userland/sort.cpp new file mode 100644 index 0000000000..35d3933f9e --- /dev/null +++ b/Userland/sort.cpp @@ -0,0 +1,28 @@ +#include +#include +#include +#include +#include + +int main(int argc, char** argv) +{ + Vector lines; + + for (;;) { + char buffer[BUFSIZ]; + auto* str = fgets(buffer, sizeof(buffer), stdin); + if (!str) + break; + lines.append(buffer); + } + + quick_sort(lines.begin(), lines.end(), [] (auto& a, auto& b) { + return strcmp(a.characters(), b.characters()) < 0; + }); + + for (auto& line : lines) { + fputs(line.characters(), stdout); + } + + return 0; +}