数据结构温习 排序算法

来源:互联网 发布:php 分类信息cms系统 编辑:程序博客网 时间:2024/05/21 19:30

js 排序算法


冒泡排序:


var array = [{"name" : "aa",index : 100},{"name" : "aa",index : 200},{"name" : "aa",index : 300}];var len = array.length;for (var i = 0 ; i < len - 1 ; i++) { //-1 是为了j+1不会发生数组越界,且不会和自己比较for (var  j = 0 ; j < len - i - 1) {if (array[j] < array[j+1]) {var temp = a[j];a[j] = a[j+1];a[j+1] = temp;//交换位置}}}

快速排序:


var arr = [{"name" : "aa",index : 200},{"name" : "aa",index : 100},{"name" : "aa",index : 300}];function qSort(arr,i,j){  if(i>=j) return;  var tempi=i,tempj=j;  var key=arr[i];    while(i<j){    while(i<j&&arr[j].index>key.index) j--;//从右向左找第1个小于key的数    if(i<j) arr[i++]=arr[j];    while(i<j&&arr[i].index<key.index) i++;//从左向右找第1个大于key的数    if(i<j) arr[j--]=arr[i];    }    arr[i]=key;    qSort(arr,tempi,i-1);    qSort(arr,i+1,tempj);}qSort(arr,0,2)

选择排序:


var min,len = arr.length;for (var i = 0 ; i < len - 1 ; i++) {min = i;for (var j = i + 1 ; j < len ; j++) {if (arr[j].index < arr[min].index) {min = j;}}var temp = arr[min];arr[min] = arr[i];arr[i] = temp;}

0 0
原创粉丝点击