Advertisement
Guest User

Untitled

a guest
Nov 4th, 2015
407
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function CArray(numElements) {
  2.     this.dataStore = [];
  3.     this.pos = 0;
  4.     this.numElements = numElements;
  5.     this.insert = insert;
  6.     this.toString = toString;
  7.     this.clear = clear;
  8.     this.setData = setData;
  9.     this.swap = swap;
  10.  
  11.     this.insertionSort = insertionSort;
  12.  
  13.     for (var i = 0; i < numElements; ++i) {
  14.         this.dataStore[i] = i;
  15.     }
  16. }
  17.  
  18. function setData() {
  19.     for (var i = 0; i < this.numElements; ++i) {
  20.         this.dataStore[i] = Math.floor(Math.random() * (this.numElements + 1));
  21.     }
  22. }
  23.  
  24. function clear() {
  25.     for (var i = 0; i < this.dataStore.length; ++i) {
  26.         this.dataStore[i] = 0;
  27.     }
  28. }
  29.  
  30. function insert(element) {
  31.     this.dataStore[this.pos++] = element;
  32. }
  33.  
  34. function toString() {
  35.     var retstr = "";
  36.     for (var i = 0; i < this.dataStore.length; ++i) {
  37.         retstr += this.dataStore[i] + " ";
  38.         if (i > 0 && i % 10 == 0) {
  39.             retstr += "\n";
  40.         }
  41.     }
  42.     return retstr;
  43. }
  44.  
  45. function swap(arr, index1, index2) {
  46.     var temp = arr[index1];
  47.     arr[index1] = arr[index2];
  48.     arr[index2] = temp;
  49. }
  50.  
  51. function insertionSort() {
  52.     var temp, inner;
  53.     for (var outer = 1; outer <= this.dataStore.length - 1; ++outer) {
  54.         temp = this.dataStore[outer];
  55.         inner = outer;
  56.         while (inner > 0 && (this.dataStore[inner-1] >= temp)) {
  57.             this.dataStore[inner] = this.dataStore[inner-1];
  58.             --inner;
  59.         }
  60.         this.dataStore[inner] = temp;
  61.     }
  62.     console.log(this.toString());
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement