{"id":19591752,"url":"https://github.com/svenvc/lampsort","last_synced_at":"2025-10-10T12:33:42.600Z","repository":{"id":24321996,"uuid":"27718579","full_name":"svenvc/lampsort","owner":"svenvc","description":"LampSort, a non-recursive QuickSort","archived":false,"fork":false,"pushed_at":"2015-01-18T18:24:58.000Z","size":264,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-26T14:13:51.704Z","etag":null,"topics":["pharo","smalltalk","sorting-algorithms"],"latest_commit_sha":null,"homepage":null,"language":"Smalltalk","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/svenvc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-08T14:27:35.000Z","updated_at":"2020-09-30T17:38:41.000Z","dependencies_parsed_at":"2022-07-25T09:31:58.916Z","dependency_job_id":null,"html_url":"https://github.com/svenvc/lampsort","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/svenvc/lampsort","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenvc%2Flampsort","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenvc%2Flampsort/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenvc%2Flampsort/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenvc%2Flampsort/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/svenvc","download_url":"https://codeload.github.com/svenvc/lampsort/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/svenvc%2Flampsort/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003897,"owners_count":26083641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pharo","smalltalk","sorting-algorithms"],"created_at":"2024-11-11T08:30:39.638Z","updated_at":"2025-10-10T12:33:42.566Z","avatar_url":"https://github.com/svenvc.png","language":"Smalltalk","funding_links":[],"categories":[],"sub_categories":[],"readme":"lampsort\n========\n\nLampSort is a non-recursive implementation of QuickSort.\n\nThe core idea of QuickSort is not the elegant recursive implementation, \nbut doing partitioning until there is nothing more to be done. \nThe partition operation works on an interval over the data \nthat we are sorting in place. It selects a pivot, which can be any element inside the interval, \neven just the first one as we are doing here, and then split the interval in 2 sub intervals: \none with those elements smaller than the pivot and one with those elements larger than the pivot, \nmoving elements around. The pivot is automatically left in the correct position. \nQuickSort loops, starting from the whole data interval, \nreplacing it with consecutively smaller sub intervals, \nuntil only one element or empty intervals are left, which are sorted by definition. \n\nFor more information:\n- https://medium.com/@svenvc/lampsort-a-non-recursive-quicksort-implementation-4d4891b217bd\n- http://bertrandmeyer.com/2014/12/07/lampsort/\n- http://pharo.org\n\n====\n\nLampSortInstrumented is a version of LampSort that generates LampSortLogEvent objects while it runs. These log event object can be used to better understand the algorithm. \n\nLampSortVisualized should be loaded on top of LampSort. It is an experimental package that requires Roassal2. It is easiest to load it in a Moose 5.1 image based on Pharo 4.\n\nPlease refer to the following article for more information:\n\n- https://medium.com/concerning-pharo/lampsort-revisited-visualised-6652055ef858\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvenvc%2Flampsort","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsvenvc%2Flampsort","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsvenvc%2Flampsort/lists"}