`
liudaoru
  • 浏览: 1576655 次
  • 性别: 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);
};
分享到:
评论

相关推荐

    JavaScript中常见排序算法详解共19页.pdf.z

    在阅读“JavaScript中常见排序算法详解共19页.pdf”这份文档时,不仅要注意理解每种算法的原理,还要尝试动手实现,通过实践加深理解,并通过性能测试来比较不同算法的优劣。在学习过程中,还可以结合实际问题,如大...

    表格排序

    - **大数据量处理**:对于大量数据,优化排序算法以减少计算时间至关重要,可以考虑使用分页、虚拟滚动等技术来提升性能。 - **内存管理**:避免一次性加载所有数据,而是按需加载,以减轻浏览器内存负担。 7. **...

    a-z列表快速查找+搜索关键字高亮demo

    首先,"a-z快速查找"是一种常见的数据组织和检索方法,特别是在需要快速定位和排序字母顺序的数据时。这种技术通常用于目录、索引或列表,让用户能迅速找到以特定字母开头的项目。在编程实现上,我们可以创建一个...

    vue+react+算法前端面试.7z

    - 排序算法:冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。 - 查找算法:线性查找、二分查找、哈希查找。 - 图算法:Dijkstra算法、Floyd算法、拓扑排序等。 - 动态规划:解决复杂问题,如背包问题...

    fuck-js-algorithm:JavaScript算法学习

    JavaScript中可以实现多种排序算法,如冒泡排序(Bubble Sort)、插入排序(Insertion Sort)、选择排序(Selection Sort)、快速排序(Quick Sort)、归并排序(Merge Sort)和堆排序(Heap Sort)。每种排序算法都...

    JavaScript-Algorithms:一套将以我自己的方式实现的JS算法,我能想到的所有内容都涵盖了单元测试和边缘案例

    2. **排序与搜索算法**:包括快速排序、归并排序、冒泡排序、插入排序、选择排序、二分查找、哈希查找等。排序算法用于组织数据,而搜索算法则用于在大量数据中快速找到目标。在JavaScript中,这些算法可以用来优化...

    单击列标题排序

    总的来说,"单击列标题排序"是数据分析和信息管理中不可或缺的功能,它的实现涉及到用户界面设计、事件处理、排序算法以及性能优化等多个方面。无论是后台数据库还是前端展示,都能找到相应的技术和策略来支持这一...

    JS漂亮特效

    这通常涉及到DOM操作和数组排序算法,例如快速排序或冒泡排序。 2. **纯div+css制作的弹出菜单-03.htm**:弹出菜单是网页设计中的常见元素,用于展示下级选项或提供更多功能。此文件可能包含如何利用JavaScript控制...

    ddz_game-masterjs斗地主游戏.zip

    2. 排序算法:出牌时对玩家手牌进行排序,通常使用快速排序或冒泡排序等。 3. 最佳决策算法:AI玩家可能采用启发式搜索或深度优先搜索等策略来选择最优出牌。 六、事件驱动编程 斗地主游戏是典型的事件驱动模型,...

    仿携程首字母搜索城市按城市首字母城市选择JS特效代码

    其次,按照A-Z排序选择城市,这是通过数组排序算法实现的。JavaScript中的`Array.prototype.sort()`方法可以对城市数组进行排序,根据城市名的首字母进行升序排列。在实现过程中,可能需要自定义比较函数,确保排序...

    得到汉字首字母(javascript)实例.zip

    在IT领域,尤其是在前端开发中,常常需要处理汉字并获取其首字母,这在制作拼音索引、搜索引擎优化或创建自定义排序算法时非常有用。本实例“得到汉字首字母(javascript)实例”提供了一个使用JavaScript实现这一...

    算法

    1. **排序算法**:常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。在JavaScript中,这些算法可以用来对数组进行升序或降序排列,对于大数据量的处理,高效排序算法尤为重要。 2. **...

    网易校园招聘历年经典面试题汇总:前端岗1

    排序函数`sort()`默认是快速排序算法,也可以自定义比较函数。选择排序是一种简单直观的排序算法,它的工作原理是每一次从未排序序列中挑选最小(或最大)的一个元素,存放到排序序列的起始位置。 7. **邮箱验证...

    Algorithm-By-[removed]【JavaScript】算法练习汇总

    算法则是解决问题的步骤和方法,如排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序等)、查找算法(顺序查找、二分查找、哈希查找等)。在JavaScript中,我们可以通过递归、动态规划、贪心法、分治策略...

    jQuery实现的仿iPhone通讯录首字母检索特效源码.rar

    5. **JavaScript编程**:`sort.js`可能是用于排序联系人列表的脚本,根据首字母的顺序进行排列,确保用户可以按字母顺序浏览联系人。这可能涉及到JavaScript的数组操作和字符串比较函数。 6. **HTML结构**:`index....

    2022年PHP面试题集锦.doc

    快速排序是一种高效的排序算法,它的工作原理是通过选择一个 pivot 元素,将数组分成两部分,然后递归地排序这两部分。 2. 实现一种字符串截取函数,类似于 substr,必须可以截取中文这种多字节编码。 字符串截取...

    算法:Eamon的日常算法

    1. **排序算法**:如快速排序、归并排序、冒泡排序、插入排序、选择排序等,这些基本排序算法有助于理解数据结构和复杂度分析。 2. **查找算法**:二分查找、线性查找等,它们在数据检索中扮演着关键角色。 3. **...

    javascript_algorithm_practice

    1. **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序和堆排序。这些算法用于组织和排列数组中的元素,以特定顺序返回。 2. **搜索算法**:如线性搜索、二分查找等,用于在数据结构中寻找特定值...

    Algorithm-summary:你好,这里是小咸鱼的仓库,里面有我总结的LeetCode算法题JavaScript解法,这个仓库记录了一个前端小白的算法学习历程

    2. **排序与搜索**:JavaScript中的快速排序、归并排序、冒泡排序、二分查找等经典算法。这些是算法学习的基石,对于优化代码效率至关重要。 3. **递归与回溯**:递归函数是解决复杂问题的有效手段,如斐波那契数列...

Global site tag (gtag.js) - Google Analytics