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 89Etki 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.