首页 > 语言 > JavaScript > 正文

JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、

2024-05-06 15:42:13
字体:
来源:转载
供稿:网友

本文实例讲述了JavaScript数据结构与算法之基本排序算法定义与效率比较。分享给大家供大家参考,具体如下:

javascript数据结构与算法--基本排序算法(冒泡、选择、排序)及效率比较

一、数组测试平台

javascript数据结构与算法--基本排序(封装基本数组的操作),封装常规数组操作的函数,比如:插入新数据,显示数组数据,还有交换数组元素等操作来调用不同的排序算法

function CArray(numElements) {  this.dataStore = [];  this.pos = 0;//是一个索引值,默认为0,从第一个开始  this.numElements = numElements;//是保存所有的数组元素  this.insert = insert;//向数组中插入一个元素的方法  this.toString = toString;//显示数组中所有元素  this.clear = clear;//清空数组数据  this.setData = setData;//生成了存储在数组中的随机数字  this.swap = swap;//交换数组中两个元素的位置  this.bubbleSort = bubbleSort;  /*将传入的数组,存储在datastore中*/  for (var i = 0; i < numElements.length; ++i) {    this.dataStore[i] = numElements[i];  }}function setData() {  for (var i = 0; i < this.numElements; ++i) {    this.dataStore[i] = Math.floor(Math.random() *      (this.numElements+1));  }}function clear() {  for (var i = 0; i < this.dataStore.length; ++i) {    this.dataStore[i] = 0;  }}function insert(element) {  this.dataStore[this.pos++] = element;}function toString() {  var retstr = "";  for (var i = 0; i < this.dataStore.length; ++i) {    retstr += this.dataStore[i] + " ";    if (i > 0 && i % 10 == 0) {      retstr += "/n";    }  }  return retstr;}function swap(arr, index1, index2) {  var temp = arr[index1];  arr[index1] = arr[index2];  arr[index2] = temp;}//测试生成一组数组数据(随机数)var numElements = 100;var myNums = new CArray(numElements);myNums.setData();console.log(myNums.toString());

17 94 81 80 25 24 73 76 24 35 81
63 81 59 4 76 30 47 73 98 18
54 36 53 47 22 60 88 41 66 24
73 94 40 45 72 74 14 61 92 48
36 12 42 11 12 82 24 84 60 1
17 98 63 36 84 13 18 50 89 26
98 1 6 54 52 69 6 52 98 14
79 28 19 69 76 99 97 100 10 7
24 54 81 73 18 21 45 73 66 30
28 56 54 21 88 31 20 86 48

二、冒泡排序算法

我们先来了解一下冒泡排序算法,它是最慢的排序算法之一,但也是一种最容易实现的排序算法。

之所以叫冒泡排序是因为使用这种排序算法排序时,数据值会像气泡一样从数组的一端漂浮到另一端。

假设正在将一组数字按照升序排列,较大的值会浮动到数组的右侧,而较小的值则会浮动到数组的左侧。

之所以会产生这种现象是因为算法会多次在数组中移动,比较相邻的数据,当左侧值大于右侧值时将它们进行互换。

JS代码如下:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选