
数据结构和算法
卡卡的笔录
前方的路。
展开
-
插入排序
首先留下第一个数,后面从第二个数开始,如果比前面的数大,那么保持顺序不变;如果比前面的数小,那么需要将后面的数与前面的数进行逐一比较,一旦遇到比他小的数,就插入到这个数的后面,不会继续跟前前面的数进行比较。 function insertionSort(arr) { var temp; for(var o = 1; o < arr.length; o++) { temp = arr[o] var i = o -1; //如果后原创 2020-06-30 09:48:30 · 129 阅读 · 0 评论 -
选择排序
function selectionSort(arr) { var minIndex; for(var o = 0; o < arr.length-1; o++) { minIndex = o; for(var i = o + 1; i < arr.length; i++) { if(arr[i] < arr[minIndex]) { minIndex = i .原创 2020-06-29 09:43:25 · 135 阅读 · 0 评论 -
冒泡排序
外循环负责遍历数组的每一项,内循环负责比较元素。 function bubbleSort(arr) { for (var i = 1; i < arr.length; i++) { for (var j = 0; j < i; j++) { if (arr[j] > arr[j + 1]) { swap(arr, j, j + 1) } } }原创 2020-06-28 11:17:11 · 159 阅读 · 0 评论 -
回文
判断一个字符串是否是回文适合用栈(stack)这种数据结构来实现。 Stack类的定义 function Stack() { this.dataStore = []; this.top = 0; this.push = push; this.pop = pop; this.peek = peek; this.clear = clear; this.length = length; } function push(element) { this.dataStore[this.top++] =原创 2020-06-02 14:31:36 · 177 阅读 · 0 评论 -
进制转换
进制转换(基数为2~9)适合用栈这种数据结构来实现。 Stack类的定义 function Stack() { this.dataStore = []; this.top = 0; this.push = push; this.pop = pop; this.peek = peek; this.clear = clear; this.length = length; } function push(element) { this.dataStore[this.top++] = elemen原创 2020-06-02 14:06:43 · 148 阅读 · 0 评论