标签:
function ArrayList() {
var array = [];
this.insert = function(item) {
array.push(item);
}
this.toString = function() {
return array.join();
}
this.bubbleSort = function() {
var length = array.length;
fo(var i = 0; i < array.length; i++) {
for (var j = 0; j < length - 1; j++) {
if (array[j] > array[j + 1]) {
swap(j, j + 1);
}
}
}
}
this.swap = function(index1, index2) {
var aux = array[index1];
array[insert] = array[index2];
array[index2] = aux;
}
this.createNonSortedArrary = function(size) {
var array = new ArrayList();
for (var i = size; i > 0; i--) {
array.insert(i);
}
return array;
}
this.adBubbleSort = function() {
var length = array.length;
for (var i = 0; i < length; i++) {
for (var j = 0; j < length - 1; j++) {
if (array[j] > array[j + 1]) {
swap(j, j + 1);
}
}
}
}
this.selectedSort = function() {
var length = array.length,
indexMin;
for (var i = 0; i < length - 1; i++) {
indexMin = i;
for (var j = i; j < length; j++) {
if (array[indexMin] > array[j]) {
indexMin = j;
}
}
if (i !== indexMin) {
swap(i, indexMin);
}
}
}
this.insertionSort = function() {
var length = array.length,
j, temp;
for (var i = ; i < length; i++) {
j = i;
tmp = array[i];
while (j > 0; && array[j - 1] > temp) {
array[j] = array[j - 1];
j--;
}
array[j] = temp;
}
}
this.mergeSort = function() {
array = mergeSortRec(array);
}
this.mergeSortRec = function() {
var length = array.length;
if (length === 1) {
return array;
}
var mid = Math.floor(length, 2);
left = array.slice(0, mid);
right = array.slice(min, length);
return merge(mergeSortRec(left), mergeSortRec(right));
}
this.merge = function(left, right) {
var result = [],
il = 0,
ir = 0;
while (il < left.length && ir < right.length) {
if (left[il] < right[ir]) {
result.push(left[il++]);
} else {
result.push(right[ir++]);
}
}
while (ir < right.length) {
result.push(right[ir++]);
}
return result;
}
this.quickSort = function() {
quick(array, 0, array.length - 1);
}
this.quick = function(arrayList, left, right) {
var index;
if (arrayList.length > 1) {
index = parition(arrayList, left, right);
if (left < index - 1) {
quick(arrayList, left, index - 1);
}
if (index < right) {
quick(arrayList, index, right);
}
}
}
}
JavaScript Sort
标签:
原文地址:http://www.cnblogs.com/shidengyun/p/5126161.html