วิธีการใช้ Bubble Sort ในการเขียนโปรแกรม C?

Withi Kar Chi Bubble Sort Ni Kar Kheiyn Porkaerm C



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

บทความนี้กล่าวถึงวิธีง่ายๆ ในการใช้ Bubble Sort ในการเขียนโปรแกรมภาษา C

Bubble-Sort ในการเขียนโปรแกรม C คืออะไร?

ใน เรียงฟอง องค์ประกอบต่างๆ จะถูกจัดเรียงตามลำดับซ้ำๆ ไม่ว่าจะเป็นจากน้อยไปมากหรือมากไปน้อย ขึ้นอยู่กับความชอบของผู้ใช้ กระบวนการเรียงลำดับในภาษาซีเริ่มต้นด้วยการค้นหาดัชนีตัวแรกและเปรียบเทียบองค์ประกอบตัวที่หนึ่งและตัวที่สอง หากองค์ประกอบดัชนีแรกมากกว่าองค์ประกอบที่สอง จะถูกสลับ กระบวนการเปรียบเทียบและการแลกเปลี่ยนแบบเดียวกันจะเกิดขึ้นซ้ำสำหรับองค์ประกอบดัชนีที่สองและองค์ประกอบที่สาม จนกว่าองค์ประกอบทั้งหมดจะถูกจัดเรียง







Bubble Sorts ทำงานอย่างไร

นี่คือคำแนะนำทีละขั้นตอนในการดำเนินการ เรียงฟอง ในซี



ลองพิจารณาอินพุตอาร์เรย์ {5, 3, 1, 4, 6} . ในการจัดเรียงอาร์เรย์นี้โดยใช้ เรียงฟอง เราปฏิบัติตามผ่านด้านล่าง:



ผ่านครั้งแรก:

(5 3 1 4 6) -> (3 5 1 4 6), สลับตั้งแต่ 5 > 3





(3 5 1 4 6) -> (3 1 5 4 6), สลับตั้งแต่ 5 > 1

(3 1 5 4 6) -> (3 1 4 5 6), สลับตั้งแต่ 5 > 4



(3 1 4 5 6) -> (3 1 4 5 6), ไม่มีการสลับเนื่องจากองค์ประกอบทั้งหมดอยู่ในลำดับ

รอบที่สอง:

(3 1 4 5 6) -> (1 3 4 5 6), สลับตั้งแต่ 3 > 1

(1 3 4 5 6) -> (1 3 4 5 6), ไม่มีการสลับเนื่องจากองค์ประกอบทั้งหมดอยู่ในลำดับ

ผ่านที่สาม:

(1 3 4 5 6) -> (1 3 4 5 6), ไม่มีการสลับเนื่องจากองค์ประกอบทั้งหมดอยู่ในลำดับ

อาร์เรย์ถูกจัดเรียง และอัลกอริทึมจะจดจำสิ่งนี้หลังจากการผ่านครั้งที่สามเนื่องจากไม่มีการสลับ

โปรแกรม Bubble Sort ใน C

ต่อไปนี้เป็นการดำเนินการของ เรียงฟอง ในการเขียนโปรแกรมภาษาซี

#รวม

นานาชาติ หลัก ( ) {

นานาชาติ อาร์เรย์ [ 100 ] , , x , และ , ;

พิมพ์ฉ ( 'กรุณาป้อนจำนวนองค์ประกอบอาร์เรย์: ' ) ;

สแกน ( '%d' , & ) ;

พิมพ์ฉ ( 'กรุณาป้อนค่าองค์ประกอบ: ' ) ;

สำหรับ ( x = 0 ; x < ; x ++ )

สแกน ( '%d' , & อาร์เรย์ [ x ] ) ;

สำหรับ ( x = 0 ; x < - 1 ; x ++ ) {

สำหรับ ( และ = 0 ; และ < - x - 1 ; และ ++ ) {

ถ้า ( อาร์เรย์ [ และ ] > อาร์เรย์ [ และ + 1 ] ) {

= อาร์เรย์ [ และ ] ;

อาร์เรย์ [ และ ] = อาร์เรย์ [ และ + 1 ] ;

อาร์เรย์ [ และ + 1 ] = ; }

}

}

พิมพ์ฉ ( 'อาร์เรย์ที่เรียงลำดับหลังจากใช้การเรียงลำดับแบบฟอง: ' ) ;

สำหรับ ( x = 0 ; x < ; x ++ )

{

พิมพ์ฉ ( '%d' , อาร์เรย์ [ x ] ) ;

}

กลับ 0 ;

}

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

เอาต์พุต

บทสรุป

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