`
liudaoru
  • 浏览: 1560410 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js实现快速排序算法[z]

    博客分类:
  • Ajax
阅读更多
http://www.7tt.com.cn/perol/2007/01/09/quick_sort_pk/
//快速排序算法
function doSort(a, s, e) {
	if (s < e) {
		var pos = partition(a, s, e);
		doSort(a, s, pos - 1);
		doSort(a, pos + 1, e);
	}
}
function partition(a, st, en) {
	var s = st;
	var e = en + 1;
	var temp = a[s];
	while (1) {
		while (a[++s] < temp) {
		}
		while (a[--e] > temp) {
		}
		if (s > e) {
			break;
		}
		var tem = a[s];
		a[s] = a[e];
		a[e] = tem;
	}
	a[st] = a[e];
	a[e] = temp;
	return e;
}
//向数组附加快速排序算法
Array.prototype.quickSort = function () {
	doSort(this, 0, this.length - 1);
};
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics