BVB Source Codes

Algorithm-Implementations Show CocktailSort.js Source code

Return Download Algorithm-Implementations: download CocktailSort.js Source code - Download Algorithm-Implementations Source code - Type:.js
  1. /*
  2.  * Cocktail Sort (bidirectional bubble sort)
  3.  * @author ghostsnstuff
  4.  * O(n^2) worst case
  5.  * O(n^2) average case
  6.  * O(n) best case
  7.  * the first for loop is for iterating up the list
  8.  * the second for loop is for iterating down the list
  9.  * for each iteration the current node is compared to the next node
  10.  * if the current node is bigger the next node -> the elements are swapped
  11.  * this proccess continues until the list is sorted (i.e. swapped == false after first loop)
  12.  */
  13. module.exports = function(array) {
  14.         var swapped;
  15.         do {
  16.                 for(var i = 0; i < array.length - 2; i++) {
  17.                         if(array[i] > array[i+1]) {
  18.                                 var temp = array[i];
  19.                                 array[i] = array[i+1];
  20.                                 array[i+1] = temp;
  21.                                 swapped = true;
  22.                         }
  23.                 }      
  24.                 if(!swapped) {
  25.                         break;
  26.                 }
  27.                 swapped = false;
  28.                 for(var i = array.length - 2; i > 0; i--) {
  29.                         if(array[i] > array[i+1]) {
  30.                                 var temp = array[i];
  31.                                 array[i] = array[i+1];
  32.                                 array[i+1] = temp;
  33.                                 swapped = true;
  34.                         }
  35.                 }
  36.         } while(swapped);
  37. }
downloadCocktailSort.js Source code - Download Algorithm-Implementations Source code
Related Source Codes/Software:
raty - 2017-04-22
RDVTabBarController - Highly customizable tabBar and tabBarController fo... 2017-04-22
material-icon-lib - Library containing over 1500 material vector icons... 2017-04-21
httpdiff - Perform the same request against two HTTP servers ... 2017-04-21
jquerytools - The missing UI library for the Web ... 2017-04-21
mcrouter - Mcrouter is a memcached protocol router for scalin... 2017-04-22
dynomite - A generic dynamo implementation for different k-v ... 2017-04-22
kityminder - Baidu brain figure 2017-04-22
llvm - Mirror of official llvm git repository located at ... 2017-04-22
RBBAnimation - Block-based animations made easy, comes with easin... 2017-04-22
ied - 2017-04-29
Nimble - A Matcher Framework for Swift and Objective-C 2017-04-29
MHVideoPhotoGallery - A Photo and Video Gallery 2017-04-29
shoulda-matchers - Collection of testing matchers extracted from Shou... 2017-04-29
Android-SlideExpandableListView - A better ExpandableListView, with animated expanda... 2017-04-29
AppSales-Mobile - App Sales allows iPhone and Mac App Store develope... 2017-04-29
react-templates - Light weight templates for react ... 2017-04-28
afterglow-theme - A minimal dark Theme for Sublime Text 2 and 3 2017-04-28
jwt-go - Golang implementation of JSON Web Tokens (JWT) 2017-04-28
DeerResume - Tool MarkDown online resume, online preview, edit,... 2017-04-28

 Back to top