首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >算法 practice Day 1

算法 practice Day 1

作者头像
上山打老虎了
发布2022-06-14 21:34:53
发布2022-06-14 21:34:53
1970
举报
文章被收录于专栏:ArticleArticle

使用 Js 实现 快排。

原理: 从数组中取出一个值(通常取中间的那个),小于该基准值的放在左侧,大于该基准值放右侧,循环往复。

代码语言:javascript
复制
var quickSort = function(arr) {
	if(arr.length <= 1) return arr;
	var middleIndex = Math.floor(arr.length /2);
	var middleValue = arr.splice(middleIndex,1);
	var right = [];
	var left = [];
	for(var i = 0;i<arr.length;i++){
		arr[i] < middleValue ? left.push(arr[i]) : right.push(arr[i]);
	}
	return quickSort(left).concat(middleValue,quickSort(right))
}

插入排序

代码语言:javascript
复制
function insertSort(arr) {
	var len = arr.length;
	for (var i = 1; i < len; i++) {
		var currentVal = arr[i];
		var pre = i - 1;
		while (pre >= 0 && arr[pre] > currentVal) {
			arr[pre + 1] = arr[pre];
			pre--;
		}
		arr[pre + 1] = currentVal;
	}
	return arr;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年08月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 Js 实现 快排。
  • 插入排序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档