当前位置: 首页 > Web前端 > HTML

前端排序简介

时间:2023-03-29 12:04:24 HTML

鍓嶈█棣栧厛鍒嗕韩涓€涓嬫垜鏈€杩戦潰璇曢箙鍘傞亣鍒扮殑涓€涓棶棰橈細fix:'display:none'bug//杈撳叆涓€涓鏁存暟n//杈撳嚭涓€涓笉閲嶅鐨勮€屾棤搴忓簭鍒楁渶澶у€间负n鐨勬鏁存暟鏁扮粍generateShuffledArray(5)鈫撯啌鈫撯啌鈫撯啌鈫揫1,3,5,4,2]or[2,1,4,5,3],绛夌瓑鑷劧锛岃繖绉嶉瀵规垜鏉ヨ涓嶉毦馃槀锛屼竴琛屼唬鐮佹悶瀹歠unctiongenerateShuffledArray(n){returnArray.from({length:n},(v,i)=>i+1).sort(()=>Math.random()-0.5);};褰撴椂灏辫寰楄嚜宸卞啓鐨勬尯鏂囬泤鐨勩€傚悗鏉ユ満缂樺阀鍚堢湅鍒颁竴绡囨枃绔狅紝澶ц嚧鎰忔€濆氨鏄疢ath.鐨勪贡搴忔硶銆備负浜嗘柟渚垮睍绀虹粨鏋滐紝杩欓噷鐢ㄦ暟瀛?鏉ラ殢鏈烘紨绀?0000娆etresult={};for(leti=0;i<1e4;i++){constkey=generateShuffledArray(3);缁撴灉[鍏抽敭]锛熺粨鏋淸閿甝++:缁撴灉[閿甝=1;}console.table(缁撴灉);浠庣粨鏋滃彲浠ョ湅鍑猴紝涓婇潰鍐欑殑閲嶆柊鎺掑簭鐨勬柟娉曠‘瀹炴湁寰堝ぇ姒傜巼浼氬け璐ワ紝澶т浆浠槸鏈夎瘹鎰忕殑銆傛煡鐪婥hrome鐨刅8婧愮爜锛屾垜浠煡閬搒ort鍐呴儴浣跨敤鐨勬槸鎻掑叆鎺掑簭鍜屽揩閫熸帓搴忕殑娣峰悎鎺掑簭銆傚綋鏁扮粍闀垮害灏忎簬绛変簬10鏃讹紝浣跨敤鎻掑叆鎺掑簭浼氬緱鍒颁笂鍥剧殑缁撴灉锛堝悗闈細璇︾粏璁叉彃鍏ユ帓搴忥紝鍒嗘瀽涓轰粈涔堬級銆傛帓搴忕畻娉曠敱浜庡墠绔鎺掑簭绠楁硶鐨勮姹備笉鏄緢楂橈紝鎵€浠ュ緢澶氭帓搴忓満鏅粠璁捐鐨勮搴︽潵璇村墠绔槸涓嶅簲璇ュ疄鐜扮殑锛屾墍浠ユ湰鏂囧彧缁欏嚭浜嗘渶甯歌鐨勫啋娉℃帓搴忓拰鎻掑叆鐨勪緥瀛怴8涓娇鐢ㄧ殑鎺掑簭鍜屽揩閫熸帓搴忋€備笁绉嶃€傚垎鎷h繃绋嬫墍鏈夊浘鐗囧潎鏉ヨ嚜缃戠粶銆傚鏈変镜鏉冿紝璇疯瘎璁鸿仈绯诲垹闄ゃ€傚啋娉℃帓搴忕殑鎬濊矾鏄皢鐩搁偦鐨勬暟鎹垚瀵规瘮杈冿紝杈冨ぇ鐨勬暟鎹斁鍦ㄥ悗闈紝灏卞ソ鍍忔皵娉℃參鎱㈡诞鍑烘按闈竴鏍枫€傚浘褰㈠寲瀹炵幇functionbubbleSort(arr){constlen=arr.length;for(leti=0;iarr[j+1])[arr[j],arr[j+1]]=[arr[j+1],arr[j]];}}杩斿洖arr;};鎻掑叆鎺掑簭浠庣浜屼釜鏁版嵁寮€濮嬶紝渚濇灏嗗畠浠彃鍏ュ埌涔嬪墠鏈夊簭鐨勬暟缁勪腑锛屽氨鍍忔墦鎵戝厠涓€鏍凤紝灏嗘瘡娆℃嬁鍒扮殑鐗屾彃鍏ュ埌姝g‘鐨勪綅缃€傚浘褰㈠寲瀹炵幇functioninsertionSort(arr){for(leti=1;i=0;j--){if(target>1;constpivot=arr.splice(pivotIndex,1)[0];甯搁噺宸?[];const瀵?[];for(constitemofarr){if(item|50%|B(1,2,3)A[1,2,3]-->|50%|C(2,1,3)B[1,2,3]-->|50%|D(1,2,3)B[1,2,3]-->|50%|E(1,3,2)C[2,1,3]-->|50%|F(2,1,3)C[2,1,3]-->|50%|G(2,3,1)D[1,2,3]-->|50%|H(1,2,3)D[1,2,3]-->|50%|I(2,1,3)E[1,3,2]-->|50%|J(1,3,2)E[1,3,2]-->|50%|K(3,1,2)F[2,1,3]-->|50%|L(2,1,3)F[2,1,3]-->|50%|M(1,2,3)G[2,3,1]-->|50%|N(2,3,1)G[2,3,1]-->|50%|O(3,2,1)杩欓噷鐨勬帹鏂拰鎴浘涓殑瀹為檯缁撴灉鏈変簺鍑哄叆锛屽洜涓篊hrome鍦?0+鐗堟湰鏀硅繘浜嗘帓搴忕畻娉曪紝浣跨敤Binaryinsertionsort銆備簩鍒嗘彃鍏ユ帓搴忓拰鎻掑叆鎺掑簭鐨勫尯鍒湪浜庯紝鎻掑叆鍒颁箣鍓嶆湁搴忕殑鏁扮粍涓椂锛屼笉鏄竴涓竴涓悜鍓嶆瘮杈冿紝鑰屾槸鍏堢敤浜屽垎娉曟壘鍒扮涓€涓ぇ浜庡綋鍓嶆暟鎹殑鐩爣绱㈠紩锛岀劧鍚巑ovesBit锛岀悊瑙f湁鐐瑰儚蹇€熸帓搴忓拰鎻掑叆鎺掑簭鐨勭粨鍚堛€傛墿灞曚竴鑸兘鏄敤鍘熸潵鐨勫啓娉曞拷鎮犺繃鍘荤殑銆傚鏋滀綘涓嶄粩缁嗙爺绌讹紝浣犲彲鑳芥棤娉曟剰璇嗗埌杩欎簺灏忕粏鑺傘€傚鏋滄兂瀹炵幇鐪熸鐨剆huffle绠楁硶锛屽叾瀹炲緢绠€鍗曘€傚彧闇€绮樿创浠g爜锛歠unctiongenerateShuffledArray(n){constarr=Array.from({length:n},(v,i)=>i+1);const_arr=[];while(arr.length){_arr.push(arr.splice(arr.length*Math.random(),1)[0]);}杩斿洖_arr;};