// 主要针对可以转换为数字的字符串(下面例子均为升序)
// 1.利用sort方法排序
function sortArray1(arr) {
// 假如前面大于后面 => true
return arr.sort((pre, cur) => pre - cur)
}
// 2.冒泡排序
function sortArray2(arr) {
let temp;
for(var i = 0; i < arr.length-1; i++){
for(let j=0; j < arr.length-1; j++){
if(arr[j] > arr[j+1]){
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
return arr
}
// 3.选择排序
function sortArray3(arr) {
let temp;
for(let i=0; i < arr.length-1; i++){
for(let j = i + 1; j < arr.length; j++){
if(arr[i] > arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr
}
// 4.快速排序
function sortArray4(arr){
if(arr.length <= 1){
return arr;
}
let left = [];
let right = [];
let midIndex = parseInt(arr.length / 2);
let mid = arr[midIndex];
for(let i = 0 ; i < arr.length ; i++){
if(i == midIndex) continue;
if(arr[i] < mid){
left.push(arr[i])
}else{
right.push(arr[i]);
}
}
return sortArray4(left).concat([mid],sortArray4(right));
}
// 5.插入排序
function sortArry5(arr) {
for(let i = 0; i < arr.length; i++){
let n=i;
while(arr[n] > arr[n+1] && n >= 0){
let temp = arr[n];
arr[n] = arr[n+1];
arr[n+1] = temp;
n--;
}
}
return arr
}
// 6.希尔排序
function sortArry6(arr){
var interval = parseInt(arr.length / 2); //分组间隔设置
while(interval > 0){
for(var i = 0 ; i < arr.length ; i ++){
var n = i;
while(arr[n] < arr[n - interval] && n > 0){
var temp = arr[n];
arr[n] = arr[n - interval];
arr[n - interval] = temp;
n = n - interval;
}
}
interval = parseInt(interval / 2);
}
return arr;
}
04-排序
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 简述:引入gap概念,分块进行插入排序。gap会根据要求递减,当 gap == 1 等于1时,为基本的插入排序。 ...
- 插入排序(Insertion Sort) 插入排序,非常类似于扑克牌的排序,相信各位读者,都有玩过扑克牌,如逢年过...
- 一、创建与编译一个着色器的API参照 1. 创建一个shader(根据type类型)GLuint glCreate...
- 说完了句子的定义,接下来谈谈中文和英文的语序差异。 语序这个概念有点抽象,Tyger举例说明。Tyger问大家,我...
- 5月以来,哪怕对市场风向再不敏感的人,也感觉到阵阵凉意。二级市场连续下挫,一级市场融资环境恶化,不论企业融资数量还...