sapbot

Stalin Sort

Feb 6th, 2026
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Expirements - Stalin sort
  2.  
  3. var arr = [
  4.     4, 15, 23, 42, 8, 16, 38, 29, 11, 50,
  5.     3, 27, 19, 32, 12, 41, 37, 6, 21, 34
  6. ]
  7.  
  8. function stalinSort(array) {
  9.     var nArray = array
  10.     var last
  11.     var operatable = 0
  12.     var it = 0
  13.     var finished = false
  14.     var itsafchan = 0
  15.     while (!finished) {
  16.         var curVal = nArray[operatable]
  17.         if (last && (curVal < last)) {
  18.             nArray.splice(operatable, 1)
  19.             nArray.unshift(curVal)
  20.             last = undefined
  21.             itsafchan = 0
  22.         } else {
  23.             if (operatable < nArray.length) {
  24.                 operatable++;
  25.             } else {
  26.                 operatable = 0
  27.             }
  28.             last = curVal
  29.         }
  30.         itsafchan++
  31.         it++
  32.         if (itsafchan > array.length) {
  33.             finished = true
  34.         }
  35.     }
  36.     return [nArray, it]
  37. }
  38.  
  39. console.log(stalinSort(arr))
Advertisement
Add Comment
Please, Sign In to add comment