Bubble Sort ใน Java คืออะไร

Bubble Sort Ni Java Khux Xari



ในขณะที่จัดการกับข้อมูลที่ไม่เรียงลำดับใน Java อาจมีอินสแตนซ์ในการจัดเรียงข้อมูลจำนวนมากในลักษณะจากน้อยไปหามาก ตัวอย่างเช่น การเรียงลำดับค่าที่สร้างแบบสุ่มในขณะรันไทม์ ในสถานการณ์ดังกล่าว “ เรียงฟอง ” อัลกอริทึมช่วยในการจัดเรียงอาร์เรย์ที่มีความยาวได้ทันทีและสะดวกในการใช้งานพร้อมกันในด้านของนักพัฒนา

บล็อกนี้จะกล่าวถึงการใช้งานและการปรับใช้ “Bubble Sort” ใน Java

“ Bubble Sort” ใน Java คืออะไร

เรียงฟอง ” อัลกอริทึมเป็นอัลกอริทึมการเรียงลำดับที่ง่ายที่สุด ในอัลกอริทึมนี้ อาร์เรย์จะถูกสำรวจโดยเริ่มจากองค์ประกอบแรกจนถึงองค์ประกอบสุดท้าย โดยเปรียบเทียบแต่ละองค์ประกอบกับองค์ประกอบถัดไป ในกรณีที่องค์ประกอบก่อนหน้ามากกว่าองค์ประกอบถัดไปในอาร์เรย์ องค์ประกอบทั้งสองจะถูกสลับ







ความซับซ้อนของเวลา

มีสองลูปที่ซ้อนกันภายในอัลกอริทึมการเรียงลำดับแบบฟอง ดังนั้นความซับซ้อนของเวลาจะเป็น “ โอ(n^2) ', ที่ไหน ' ” ตรงกับความยาวของอาร์เรย์ที่ต้องการจัดเรียง



การใช้งาน “Bubble Sort” ใน Java

ในการสาธิตด้านล่าง การดำเนินการตามอัลกอริทึมการเรียงลำดับฟองจะดำเนินการและอธิบายทีละขั้นตอน:



สาธารณะ คงที่ เป็นโมฆะ algobubbleSort ( นานาชาติ [ ] บับเบิ้ลอาร์เรย์, นานาชาติ ความยาว ) {

สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < ความยาว - 1 ; ฉัน ++ ) {

สำหรับ ( นานาชาติ เจ = 0 ; เจ < ความยาว - ฉัน - 1 ; เจ ++ ) {

ถ้า ( บับเบิ้ลอาร์เรย์ [ เจ + 1 ] < บับเบิ้ลอาร์เรย์ [ เจ ] ) {

นานาชาติ สลับค่า = บับเบิ้ลอาร์เรย์ [ เจ ] ;

บับเบิ้ลอาร์เรย์ [ เจ ] = บับเบิ้ลอาร์เรย์ [ เจ + 1 ] ;

บับเบิ้ลอาร์เรย์ [ เจ + 1 ] = สลับค่า ;

} }

} }

นานาชาติ [ ] กำหนดให้อาร์เรย์ = { 4 , 2 , 1 , 3 , 10 , 8 , สิบห้า } ;

นานาชาติ อาร์เรย์ความยาว = กำหนดให้อาร์เรย์ ความยาว ;

algobubbleSort ( กำหนด Array, arrayLength ) ;

ระบบ . ออก . พิมพ์ ( 'อาร์เรย์เรียงฟองกลายเป็น: ' ) ;

สำหรับ ( นานาชาติ ฉัน = 0 ; ฉัน < อาร์เรย์ความยาว ; ++ ฉัน ) {

ระบบ . ออก . พิมพ์ ( กำหนดให้อาร์เรย์ [ ฉัน ] + ' ' ) ;

}

ตามรหัสที่กำหนด ให้ทำตามคำแนะนำที่ลงทะเบียนไว้:





  • ก่อนอื่นให้กำหนดฟังก์ชัน “ algobubbleSort() ” ซึ่งพารามิเตอร์ตัวก่อนชี้ไปที่อาร์เรย์ที่ส่งผ่านซึ่งจำเป็นต้องจัดเรียง และพารามิเตอร์ตัวหลังชี้ไปที่ความยาว (อาร์เรย์)
  • ในนิยามของฟังก์ชัน ให้วนซ้ำผ่านองค์ประกอบอาร์เรย์ที่สะสมทีละรายการใน ' สำหรับ ” วนซ้ำ
  • ในขั้นตอนถัดไป ให้ใช้อินเนอร์ “ สำหรับ ” วนซ้ำที่วนซ้ำจนถึงองค์ประกอบอาร์เรย์ตัวที่สอง เป็นเพราะในการวนซ้ำแต่ละครั้ง องค์ประกอบอาร์เรย์ที่ยิ่งใหญ่ที่สุดจะถูกวางไว้ที่ดัชนีสุดท้าย ดังนั้นจึงหลีกเลี่ยงในการวนซ้ำนี้
  • ในช่วงหลัง” สำหรับ ” วนซ้ำ ตรวจสอบเงื่อนไขว่าหากองค์ประกอบก่อนหน้ามากกว่าองค์ประกอบถัดไป ค่าจะสลับในลักษณะที่ค่าที่น้อยกว่าจะถูกวางไว้ก่อนในลำดับจากน้อยไปหามาก และต่อด้วยค่าที่วนซ้ำต่อไป
  • ในหลัก ประกาศอาร์เรย์ที่ประกอบด้วยค่าจำนวนเต็มที่ระบุไว้ในลักษณะที่ไม่เรียงลำดับ
  • ในขั้นตอนถัดไป ให้เชื่อมโยง “ ความยาว ” คุณสมบัติพร้อมอาร์เรย์เพื่อส่งคืนความยาวของอาร์เรย์
  • หลังจากนั้น ให้เรียกใช้ฟังก์ชันที่กำหนดโดยส่งอาร์เรย์ที่ประกาศและความยาวเป็นพารามิเตอร์ (ฟังก์ชัน)
  • สุดท้าย วนซ้ำผ่านอาร์เรย์โดยพิจารณาจากความยาวของมัน และฟังก์ชันที่เข้าถึงจะ “ เรียงฟอง ” อาร์เรย์ในลักษณะจากน้อยไปมาก

เอาต์พุต



จากผลลัพธ์ข้างต้น สังเกตได้ว่าอาร์เรย์ที่กำหนดได้รับการจัดเรียงตามนั้น

บทสรุป

เรียงฟอง ” ใน Java ดำเนินการโดยการสำรวจอาร์เรย์จากองค์ประกอบแรกไปยังองค์ประกอบสุดท้าย และแต่ละองค์ประกอบจะถูกเปรียบเทียบกับองค์ประกอบถัดไปทีละขั้นตอน เพื่อให้มีการดึงข้อมูลอาร์เรย์จากน้อยไปหามาก บล็อกนี้มีรายละเอียดเกี่ยวกับอัลกอริทึมและการใช้งานการเรียงลำดับแบบฟองใน Java