Rumah > hujung hadapan web > tutorial js > Analisis prinsip kaedah pengisihan tatasusunan dalam kemahiran js_javascript

Analisis prinsip kaedah pengisihan tatasusunan dalam kemahiran js_javascript

WBOY
Lepaskan: 2016-05-16 16:31:00
asal
1564 orang telah melayarinya

Artikel ini menganalisis prinsip kaedah pengisihan tatasusunan dalam js melalui contoh. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:

Baru-baru ini, dalam projek Baidu, saya perlu mengisih tatasusunan Sudah tentu, saya secara semula jadi memikirkan kaedah isihan tatasusunan pada mulanya Penggunaan kaedah ini adalah sangat mudah, kira-kira seperti berikut:

Salin kod Kod adalah seperti berikut:
window.onload=function(){
var arr=[2,55,55,1,75,3,9,35,70,166,432,678,32,98];
      var arr2=["George","John","Thomas","James","Adrew","Martin"];
         susunan fungsi(a,b){
              kembalikan a-b;
            }
console.log(arr.sort(arrsort)); //Pengisihan nombor memerlukan fungsi            console.log(arr2.sort()); // Surat tidak diperlukan
}
Tetapi saya tiba-tiba terfikir, mengapa penggunaan jenis begitu mudah dan apakah prinsipnya Jadi saya cuba menyusun tatasusunan tanpa isihan Prinsipnya ialah mencari nilai minimum tatasusunan dan memasukkannya ke dalam tatasusunan baru, kemudian padam nilai minimum dalam tatasusunan dan kemas kini Selepas tatasusunan, teruskan mencari nilai minimum untuk dimasukkan, dan gelung seperti ini:

Salin kod Kod adalah seperti berikut:
window.onload=function(){
var arr=[2,55,55,1,75,3,9,35,70,166,432,678,32,98];
var len=arr.length;
console.log(arr.join(","));
var newarr=[];
untuk(var i=0;i newarr.push(Math.min.apply(null,arr)); //Masukkan nilai minimum ke dalam tatasusunan baharu
arr.splice(r(arr,Math.min.apply(null,arr)),1); //Selepas memasukkan, padamkan nilai minimum dengan segera
}
//Cari kedudukan nilai minimum dalam tatasusunan
         fungsi r(s,v){
untuk(k dalam s){
Jika(s[k] == v){
                     pulangkan k;
                 }
                }
            }
console.log(newarr.join(","))
}
PS: Ini hanyalah kaedah yang saya tulis Prinsip pengurutan tidak boleh seperti ini. Anda juga boleh menggunakan kaedah buih untuk menyusun kod sudah tentu, kod di atas hanya untuk tatasusunan angka, untuk mengisih rentetan, anda boleh mempertimbangkan kaedah localeCompare rentetan.
Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan