ตัวอย่างการเรียงลำดับฟอง, การเรียงลำดับฟองแบบสองทิศทางด้วยการสร้างภาพที่ดีขึ้นเล็กน้อยของการเรียงลำดับฟองแบบสองทิศทาง
รหัสนั้นง่ายมากฉันไม่รู้ว่ามีข้อบกพร่องที่ไม่รู้จักหรือไม่
พระเจ้าโปรดอย่าบ่น
ตัวอย่างการเรียงลำดับฟอง
var ls = [ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,18,85,85,58,89,85,42,61,74,35,35,18,85,85,58, 3,14,80,7,10,44,10,47,13,11,11,52,25,24,48,34,12,88,80,33,80,45,64,52,79,77,77,88,80,80,33,80,45,64,64,52,79,77,77 - สำหรับ (var i = 0; i <ls.length; i ++) {สำหรับ (var j = i+1; j <ls.length; j ++) {ถ้า (ls [i]> ls [j]) {ls [i] = ls [i]+ls [j]; ls [j] = ls [i] -ls [j]; ls [i] = ls [i] -ls [j]; -ตัวอย่างการเรียงลำดับฟองสองทาง
var ls = [ 6,13,98,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,18,85,85,58,89,85,42,61,74,35,35,18,85,58, 3,14,80,7,10,44,10,47,13,11,11,52,25,24,48,34,12,88,80,33,80,45,64,52,79,77,77,88,80,80,33,80,45,64,64,52,79,77,77 - สำหรับ (var i = 0; i <ls.length; i ++) {สำหรับ (var j = i+1; j <ls.length-i; j ++) {ถ้า (ls [Lent-1-i] <ls [Lent-j]) {ls [Lent-1-i] = ls [Lent-1-i]+ls ls [Lent-J] = ls [Lent-1-i] -ls [Lent-J]; ls [Lent-1-i] = ls [Lent-1-i] -ls [Lent-J]; ls [Lent-1-i] = ls [Lent-1-i] -ls [Lent-J]; } // การเปรียบเทียบต่อไปนี้ถ้า (ls [i]> ls [j]) {ls [i] = ls [i]+ls [j]; ls [j] = ls [i] -ls [j]; ls [i] = ls [i] -ls [j]; } // การเปรียบเทียบก่อนหน้า}}ตัวอย่างการจัดเรียงฟองแบบสองทิศทางที่ดีขึ้นเล็กน้อย
var ls = [ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,18,85,85,58,89,85,42,61,74,35,35,18,85,85,58, 3,14,80,7,10,44,10,47,13,11,11,52,25,24,48,34,12,88,80,33,80,45,64,52,79,77,77,88,80,80,33,80,45,64,64,52,79,77,77 - var lent = ls.length; สำหรับ (var i = 0; i <ls.length; i ++) {สำหรับ (var j = i*2; j <ls.length-2*i; j ++) {ถ้า (ls [i*2]> ls [j+1]) {ls [i*2] = ls [i*2]+ls [j+1] ls [j+1] = ls [i*2] -ls [j+1]; ls [i*2] = ls [i*2] -ls [j+1]; ls [i*2] = ls [i*2] -ls [j+1]; } // เก็บหมายเลขแรกไว้ในเลเยอร์ด้านในเป็นลูปขั้นต่ำถ้า (ls [Lent-i*2-1] <ls [Lent-j-1]) {ls [Lent-i*2-1] = ls [Lent-i*2-1]+ls [Lent-J-1]; ls [Lent-j-1] = ls [Lent-i*2-1] -ls [Lent-J-1]; LS [Lent-I*2-1] = LS [Lent-J-1]; } //// รักษาจำนวนสุดท้ายของเลเยอร์ด้านในให้เป็นวัฏจักรสูงสุดถ้า (ls [Lent-2-I*2] <ls [Lent-J-1]) {ls [Lent-2-I*2] = ls [Lent-2-I*2]+ls [Lent-J-1]; ls [Lent-j-1] = ls [Lent-2-i*2] -ls [Lent-J-1]; ls [Lent-2-i*2] = ls [Lent-J-1]; ls [Lent-2-i*2] = ls [Lent-J-1]; ls [Lent-2-i*2] = ls [Lent-J-1]; } // ตอบสนองครั้งสุดท้ายถ้า (ls [i*2+1]> ls [j+1]) {ls [i*2+1] = ls [i*2+1]+ls [j+1]; ls [j+1] = ls [i*2+1] -ls [j+1]; ls [i*2+1] = ls [i*2+1] -ls [j+1]; }//ต่อไป}}