บล็อกนี้จะกล่าวถึงการใช้งานและการปรับใช้ “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