首页 > 代码库 > js:数据结构笔记11--排序算法(1)
js:数据结构笔记11--排序算法(1)
基本准备:
function CArray(numElems) { this.dataStore = []; this.pos = 0; this.numElems = numElems; this.insert = insert; this.toString = toString; this.clear = clear; this.setData = http://www.mamicode.com/setData;""; for(var i = 0; i < this.dataStore.length; ++i) { str += this.dataStore[i] + " "; if( i > 0 && (i+1) %10 === 0) { str += "\n"; } } return str; } function swap(arr,index1,index2) { var temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp; }
基本排序算法:
- 冒泡排序:最容易实现也是最慢的算法之一
- 从头开始依次分别比较相邻的两个元素并排序,直到最后一个;此时确定最后一个会是最大的;
- 重复上面步骤但不比较已经确定的,此时确定最后第二个是第二大的;
- 继续重复直到剩下第一个元素为止,确定它是最小的;
效果:
function bubbleSort() { var numElems = this.dataStore.length; var temp; for(var outer = numElems; outer > 1 ; --outer) { for(var inner = 0; inner < outer; ++inner) { if(this.dataStore[inner] > this.dataStore[inner + 1]) { swap(this.dataStore,inner,inner + 1); } } } }
demo:
- 选择排序:
js:数据结构笔记11--排序算法(1)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。