1二分查找
· var search = function (nums, target) {
var low = 0
var high = nums.length - 1
while (low <= high) {
var middle = parseInt((low + high) / 2)
if (nums[middle] == target) {
return middle
}
if (nums[middle] > target) {
high = middle-1
}
if (nums[middle] < target) {
low = middle+1
}
}
}
2选择排序
function selectionSort(array) {
for (let i = 0
var minIndex = i
//找出最小数的下标
for (let j = i + 1
if (array[minIndex] > array[j]) {
minIndex = j
}
}
//将最小数放在最前面
var temp = array[i]
array[i] = array[minIndex]
array[minIndex] = temp
}
return array
}
3 排序二叉树
function Node(key) {
this.key = key
this.left = null
this.right = null
}
function BinaryTree() {
var root = null
var insertNode = function (node, newNode) {
if (node.key > newNode.key) {
if (node.left == null) {
node.left = newNode
} else {
insertNode(node.left,newNode)
}
} else {
if (node.right == null) {
node.right = newNode
} else {
insertNode(node.right,newNode)
}
}
}
this.insert = function (key) {
let newNode = new Node(key)
if (root == null) {
root = newNode
} else {
insertNode(root, newNode)
}
}
}