国外做家纺的网站,山西省网站建设备案表,阿里云域名注册备案,北京优化seo排名一、图解排序过程 注意#xff1a;选择排序一样是需要进行两两的比较#xff0c;但比较过程中不进行交换#xff0c;只有比较完成后#xff0c;找到最小的那个数#xff0c;才会进行交换#xff0c;把它放到最前面。 二、代码实现 三、完整代码 !DOCTYPE html
选择排序一样是需要进行两两的比较但比较过程中不进行交换只有比较完成后找到最小的那个数才会进行交换把它放到最前面。 二、代码实现 三、完整代码 !DOCTYPE html
html langen
headmeta charsetUTF-8titleTitle/title
/head
bodyscript// 创建列表类function ArrayList() {// 属性this.array []// 方法// 将数据可以插入到数组中的方法ArrayList.prototype.insert function (item) {this.array.push(item)}ArrayList.prototype.toString function () {return this.array.join(-)}// 交换两个位置的数据ArrayList.prototype.swap function (m, n) {var temp this.array[m]this.array[m] this.array[n]this.array[n] temp}// 实现排序算法// 冒泡排序ArrayList.prototype.bubbleSort function () {// 1.获取数组的长度var length this.array.length// 2.反向循环因此次数越来越少for (var j length - 1; j 0; j--) {// 第一次进来 i 0, 比较 0 和 1 位置的两个数据如果0位置大于 1位置的数据 交换两个的位置// 最后一次进来i length - 2, 比较length - 2 和 length - 1 的两个数据// 3.根据i的次数比较到i的位置for (var i 0; i j; i) {if (this.array[i] this.array[i 1]) {// 4.如果 i 位置比 i1 位置的数据大就交换位置// 前一个数字 后一个数字 两者交换位置this.swap(i, i 1)}}}}// 选择排序ArrayList.prototype.selectionSort function () {// 1.获取数组的长度let length this.array.length// 2.外层循环从0位置开始取数据for (let j 0; j length - 1; j) {// 内层循环从i1位置开始和后面的数据进行比较let min j // 最小值的下标for (let i min 1; i length; i) {if (this.array[min] this.array[i]) {// 如果当前下标保存的最小值 当前遍历的项// 说明当前遍历项才是最小的值那么保存当前遍历项的下标min i}}this.swap(min, j)}}// 插入排序// 希尔排序// 快速排序}// 测试var list new ArrayList()// 插入元素list.insert(66)list.insert(88)list.insert(12)list.insert(87)list.insert(100)list.insert(5)list.insert(566)list.insert(23)alert(list)// 验证冒泡排序// list.bubbleSort()list.selectionSort()alert(list)
/script
/body
/html