"Aygıtlar" JS dizisi sıralama becerileri özeti (balon, sıralama, hızlı, tepe, vb. Sıralama)

Bu makale, JS dizisi sıralama becerilerini özetlemektedir. Aşağıdaki gibi referansınız için sizinle paylaşın:

1. Kabarcık sıralaması

var dizi =; var temp = 0; için (var i = 0; i < dizi.length; i ++) { için (var j = 0; j < dizi.length-i; j ++) { eğer (dizi > dizi) { temp = dizi; dizi = dizi; dizi = sıcaklık; } } } console.log (dizi);

Sonuçlar aşağıdaki gibidir:

2, sırala

var arrSimple = new Array (1,8,7,6,2,5); arrSimple.sort (); // document.writeln (arrSimple.join ()); console.log (arrSimple.join ())

Etki aşağıdaki gibidir:

3. Hızlı sıralama

function quickSort (arr) { eğer (arr.length < = 1) {// Dizinin yalnızca bir numarası varsa, doğrudan dönün; dönüş arr; } var num = Math.floor (arr.length / 2); // Ortadaki sayının indeks değerini bulun, eğer bir kayan noktalı sayı ise aşağı yuvarlayın var newValue = arr.splice (num, 1); // Ortadaki sayının değerini bulun var sol =, sağ =; için (var i = 0; i < arr.length; i ++) { eğer (dizi < yeni değer){ left.push (arr ); // Referans noktasının solundaki sayı sol diziye aktarılır }Başka{ right.push (arr ); // Referans noktasının sağındaki sayı sağdaki diziye aktarılır } } return quickSort (left) .concat (newValue, quickSort (sağ)); // Karşılaştırmayı yinelemeli olarak tekrarla } console.log (quickSort ());

Etki aşağıdaki gibidir:

4. Tepe sıralaması

function shellSort (nums) {// Tepe sıralaması var gaps =; // boşluk aralığını tanımlayın için (var g = 0; g < gaps.length; g ++) {// Bir aralık değeriyle başlayın for (var i = boşluklar; i < nums.length; i ++) {// Aralık değeri ile çapraz geçiş var temp = nums ; // Seçilen eleman for (var j = i; j > = gapsnums > temp; j- = boşluklar) {// Bir önceki bir sonrakinden büyükse nums = nums; // Geri git } nums = temp; // doldur } } } function show (nums) {// Gösterge dizisi için (var i = 0; i < nums.length; i ++) { document.write (nums + ''); } document.write (' < br > '); } var nums =; show (nums); // 60 29 35 80 54 shellSort (nums); // Tepe sıralaması show (nums); // 00 23 45 56 89

Etki aşağıdaki gibidir:

5. Ekleme sıralaması

function sort (öğeler) { // 0'ıncı elemanın sıralı bir sıra olduğunu varsayarsak, birinci ve sonraki elemanlar sırasız bir sıra olur, // Böylece, ilk öğeden başlayarak, sırasız dizinin öğelerini sıralı diziye ekleyin için (var i = 1; i < elements.length; i ++) { // Artan eğer (öğeler < elementler){ // Eklenen öğe olarak sırasız sıradaki i-inci'yi kaldır var guard = elemanlar ; // Sıralı dizinin son konumunu hatırlayın ve sıra dizisinin konumunu birer birer genişletin var j = i-1; elementler = elemanlar; // boyuttan ziyade, eklenen öğenin konumunu bulun süre (j > = 0 koruma < elementler){ elemanlar = elemanlar; j--; } // ekle elemanlar = koruma; } } } var elements =; console.log ('önce:' + öğeler); sıralama (öğeler); console.log ('sonra:' + öğeler);

Etki aşağıdaki gibidir:

6. Seçim sırası:

function order (arry) { var ary = arry function sorrt () { uzunluk = ary.length; için (var i = 0; i < uzunluk; i ++) { _min = ary k = i için (var j = i + 1; j < uzunluk; j ++) { eğer (_min > ary) { _min = ary k = j } } ary = ary ary = _dk } dönüş ary; } return {sor: sorrt}; } var k = order () console.log (k.sor ())

Etki aşağıdaki gibidir:

Ek: Dizinin js'de sıralanmasına ilişkin notlar

var arrDemo = new Array (); arrDemo = 10; arrDemo = 50; arrDemo = 51; arrDemo = 100; arrDemo.sort (); // Sıralama yöntemi çağrıldıktan sonra, dizinin kendisi değiştirilecek ve bu da orijinal diziyi etkileyecek alert (arrDemo); // 10,100,50,51 Varsayılan olarak, sıralama yöntemi düşündüğümüz gibi numaraya göre sıralamak yerine ascii alfabetik sıraya göre sıralanır arrDemo.sort (function (a, b) {return a > b? 1: -1}); // Küçükten büyüğe sıralandı alert (arrDemo); // 10,50,51,100 arrDemo.sort (function (a, b) {return a < b? 1: -1}); // En büyükten küçüğe doğru sıralama alert (arrDemo); // 100,51,50,10 Orijinal yazar: Chi Che kızı, 90 front-end kız kardeş, aşk programlama, operasyonel aşk, sanat ve kodlar, çekicilik ve bilgelik bir arada Yuan bir program.

Qionghai, Hainan: Yüksek sıcaklık mevsiminde renkli uğurlu bulutlar
önceki
Haber yayınına 3 dakikalık hızlı bir bakış: Ülke, bu yıl Midwest için 6.700 ücretsiz tıp öğrencisi alıyor
Sonraki
Kitap Haberleri "Ruh Sağlığının Mavi Kitabı" vb.
"Gadget'lar", küçük bir tarayıcı yazmak için node.js kullanır
Ivanka bu sefer giyinmeyi özledi mi? Kraliyet yemeğinde görünmesi için 80.000 yuan değerinde mavi bir elbise giymiş, ancak eşine kayboldum.
IG, yaz mevsimine iyi bir başlangıç yapmak için DMO'yu az farkla geçti
Dünyanın en rahat hapishanesi korumasızdır, tatil kadar özgürdür, kimse kaçamaz
Ülkedeki ilk ayrıntılı standart! Sinema biletleri bu şekilde iade edilebilir veya değiştirilebilir
Dünya Perakende Konferansı: Alibaba ve Amazon, önümüzdeki beş yıl içinde kimler hakkında daha iyimsersiniz?
Yolculuk arkadaşı kuralları çiğnedi ve teması kaybetti, bulunduğunda iki gün ot yemişti.
"CCTV kaygısı" turistler "kuşların ağzından yiyecek kapıyor" çok sayıda istiridyeyi kaçırdı, gönüllüler kimseyi dinlemeye ikna etti
Bu açıklama, çocuk mobilya endüstrisinin içinde neyi ortaya çıkardı? Satıcı gerçeği söyledi
Polis hatırlatıyor: Yeni dolandırıcılık hilelerine dikkat edin, bir kurye şirketi gibi davranın ve sizi WeChat'e ekleyin
"İnsansız operasyon" geliyor, yeşil gıda "usta" -Heilongjiang, modern tarım gelişiminin yolunu araştırıyor
To Top