# freeCodeCamp Challenge Guide: Sorting algorithms/Strand sort

**URL:** <https://forum.freecodecamp.org/t/freecodecamp-challenge-guide-sorting-algorithms-strand-sort/302319>\
**Category:** freeCodeCamp Contributors\
**Tags:** guide\
**Created:** [August 3, 2019, 6:44pm UTC](https://forum.freecodecamp.org/t/freecodecamp-challenge-guide-sorting-algorithms-strand-sort/302319 "2019-08-03T18:44:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![camperbot](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/camperbot/32/18364_2.png) [@camperbot](https://forum.freecodecamp.org/u/camperbot)\
**Post date:** [August 3, 2019, 6:44pm UTC](https://forum.freecodecamp.org/t/freecodecamp-challenge-guide-sorting-algorithms-strand-sort/302319/1 "2019-08-03T18:44:26Z")

</div>

# [Sorting algorithms/Strand sort](https://www.freecodecamp.org/learn/coding-interview-prep/rosetta-code/sorting-algorithms-strand-sort)

* * *

## Solutions

> **Solution 1 (Click to Show/Hide)**
>
> ```javascript
> function strandSort(list) {
> 
> function merge(left, right) {
> var result = [];
> while (left.length != 0 && right.length != 0) {
> if (left[0] <= right[0])
> result.push(left.shift());
> else
> result.push(right.shift());
> }
> result.push.apply(result, left);
> result.push.apply(result, right);
> return result;
> }
> 
> if (list.length <= 1) return list;
> var result = [];
> while (list.length > 0) {
> var sorted = [];
> sorted.push(list.shift());
> var len = list.length;
> for (var i = 1; i < len; i++) {
> var elem = list[i];
> if (sorted[i - 1] <= elem) {
> sorted.push(elem);
> sorted.splice(i, 1);
> }
> }
> 
> result = merge(result, sorted);
> }
> return result;
> }
> 
> ```

---

<div class="post-metadata">

**Author:** ![ILM](https://sea3.discourse-cdn.com/freecodecamp/user_avatar/forum.freecodecamp.org/ilm/32/363239_2.png) [@ILM](https://forum.freecodecamp.org/u/ILM)\
**Post date:** [January 8, 2025, 3:49pm UTC](https://forum.freecodecamp.org/t/freecodecamp-challenge-guide-sorting-algorithms-strand-sort/302319/2 "2025-01-08T15:49:04Z")

</div>


