let array = [24,1,6,45,23,11,2,34,8,54,14];
/*
//直接插入排序 O(n2)
for (let i=0;i<array.length;i++){
for (let j=0;j<i;j++){
if(array[i]<array[j]){
let siwt = array[i];
for (let k=i;k>j;k--){
array[k] = array[k-1];
}
array[j] = siwt;
}
}
}
*/
//折半插入排序
/*
偽代碼
for(i in arr.length){
}
*/
for (let i=0;i<array.length;i++){
let low = 0;
let high = i-1;
let middle = Math.floor(((low+high)/2));
while(low<high){
console.log(`${low},${high},${middle} | ` + [...array]);
if(array[i]<array[middle]){
high = middle-1;
}else{
low = middle+1;
}
middle = Math.floor(((low+high)/2));
}
middle = array[middle]>array[i]?middle:(middle+1);
let dist = array[i];
for(let j=i;j>middle;j--){
array[j]=array[j-1];
}
array[middle] = dist;
}
console.log([...array]);
//冒泡排序
太簡(jiǎn)單就不寫了
//快速排序
/*
偽代碼
quickSort(low,high){
let middle = (low+high)/2
let i=low,j=high;
while(i<j){
while(arr[i++]>arr[middle]){
exchange
}
while(arr[j--]<arr[middle]){
exchange
}
}
return middle;
}
sort(low,high){
if(low>=high) return;
middle = quickSort(low,high)//middle為選中的數(shù)字排完序之后所處的位置
sort(low,middle)
sort(middle+1,low)
}
*/
let i = 0;
let quickSort = (low,high)=>{
let middle = Math.floor((low+high)/2);
console.log(`low:${low},high:${high},middle:${middle}`);
let i = low;
let j = high;
while(i<j){
while(i<middle){
if(array[i]>array[middle]){
console.log(`before : ${array[i]},${array[middle]}`);
let dist = array[i];
array[i] = array[middle];
array[middle] = dist;
middle = i;
i++;
break;
}
i++;
}
while(j>middle){
if(array[j]<array[middle]){
console.log(`after : ${array[i]},${array[middle]}`);
let dist = array[j];
array[j] = array[middle];
array[middle] = dist;
middle = j;
j--;
break;
}
j--;
}
}
return middle;
};
let mainQuickSort = (low,high)=>{
console.log([...array]);
let middle = quickSort(low,high);
if (low>=high) {
return;
}
mainQuickSort(low,middle);
mainQuickSort(middle+1,high);
};
mainQuickSort(0,array.length-1);
js實(shí)現(xiàn)排序(持續(xù)更新)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門蛹磺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人同仆,你說我怎么就攤上這事萤捆。” “怎么了俗批?”我有些...
- 文/不壞的土叔 我叫張陵俗或,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我岁忘,道長(zhǎng)辛慰,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任臭觉,我火速辦了婚禮昆雀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蝠筑。我一直安慰自己狞膘,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布什乙。 她就那樣靜靜地躺著挽封,像睡著了一般。 火紅的嫁衣襯著肌膚如雪臣镣。 梳的紋絲不亂的頭發(fā)上辅愿,一...
- 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼苗踪!你這毒婦竟也來了颠区?” 一聲冷哼從身側(cè)響起,我...
- 序言:老撾萬榮一對(duì)情侶失蹤通铲,失蹤者是張志新(化名)和其女友劉穎毕莱,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颅夺,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡朋截,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吧黄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片质和。...
- 正文 年R本政府宣布,位于F島的核電站仗阅,受9級(jí)特大地震影響昌讲,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜减噪,卻給世界環(huán)境...
- 文/蒙蒙 一短绸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧筹裕,春花似錦醋闭、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至抗斤,卻和暖如春囚企,著一層夾襖步出監(jiān)牢的瞬間丈咐,已是汗流浹背。 一陣腳步聲響...
- 正文 我出身青樓银酗,卻偏偏與公主長(zhǎng)得像辆影,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子花吟,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 之前寫過js實(shí)現(xiàn)數(shù)組去重秸歧, 今天繼續(xù)研究數(shù)組: 排序算法實(shí)現(xiàn)。 排序是數(shù)據(jù)結(jié)構(gòu)主要內(nèi)容衅澈,并不限于語言主要在于思想键菱;...
- 463 給一組整數(shù),按照升序排序今布,使用選擇排序经备,冒泡排序,插入排序或者任何 O(n2) 的排序算法部默。 選擇排序(S...
- 版本一: 使用方式: 這種方式會(huì)對(duì)原數(shù)組產(chǎn)生影響侵蒙。 版本2: 引用自:http://www.ruanyifeng....
- 堅(jiān)持做一件事有時(shí)候并不難纷闺,比如去年年底的幾個(gè)月,我每天都堅(jiān)持吃五餐份蝴,并且每餐都堅(jiān)持吃到撐犁功,在這種感天動(dòng)地死吃活脹的...