JavaScript 中实现基本的排序算法和数据结构,可以使用内置的 Array 对象和相关方法。以下是一些常见的排序算法和数据结构及其实现方式:
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
function quickSort(arr) {
if (arr.length <= 1) {
return arr;
}
var pivot = arr[0];
var left = [];
var right = [];
for (var i = 1; i < arr.length; i++) {
if (arr[i] < pivot) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quickSort(left).concat(pivot, quickSort(right));
}
function Node(val) {
this.val = val;
this.next = null;
}
function LinkedList() {
this.head = null;
this.tail = null;
}
LinkedList.prototype.add = function(val) {
var node = new Node(val);
if (!this.head) {
this.head = node;
} else {
this.tail.next = node;
}
this.tail = node;
};
function Stack() {
this.data = [];
this.top = -1;
}
Stack.prototype.push = function(val) {
this.top++;
this.data[this.top] = val;
};
Stack.prototype.pop = function() {
if (this.top < 0) {
return null;
}
var val = this.data[this.top];
this.top--;
return val;
};
function Queue() {
this.data = [];
this.head = 0;
this.tail = -1;
}
Queue.prototype.enqueue = function(val) {
this.tail++;
this.data[this.tail] = val;
};
Queue.prototype.dequeue = function() {
if (this.head > this.tail) {
return null;
}
var val = this.data[this.head];
this.head++;
return val;
};
以上是 JavaScript 中实现基本的排序算法和数据结构的一些方法,还有其他更高级的算法和数据结构,如堆排序、归并排序、二叉搜索树等,可以根据具体需求进行实现。