สารบัญ:
วีดีโอ: คุณจะสร้างการเรียงลำดับฟองในรายการที่เชื่อมโยงใน C ++ ได้อย่างไร
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
ในการเรียงลำดับบับเบิ้ล เราทำตามขั้นตอนด้านล่าง:
- ขั้นตอนที่ 1: ตรวจสอบว่าข้อมูลใน 2 โหนดที่อยู่ติดกันนั้นเรียงลำดับจากน้อยไปมากหรือไม่ หากไม่เป็นเช่นนั้น ให้สลับข้อมูลของโหนดที่อยู่ติดกัน 2 โหนด
- ขั้นตอนที่ 2: เมื่อผ่านด่าน 1 องค์ประกอบที่ใหญ่ที่สุดจะอยู่ท้ายรายการ
- ขั้นตอนที่ 3: เรายุติการวนซ้ำเมื่อองค์ประกอบทั้งหมดเริ่มต้นขึ้น
ด้วยวิธีนี้ คุณจะสร้างการเรียงลำดับฟองในรายการที่เชื่อมโยงใน C++ ได้อย่างไร
ในการเรียงลำดับบับเบิ้ล เราทำตามขั้นตอนด้านล่าง:
- ขั้นตอนที่ 1: ตรวจสอบว่าข้อมูลใน 2 โหนดที่อยู่ติดกันนั้นเรียงลำดับจากน้อยไปมากหรือไม่ หากไม่เป็นเช่นนั้น ให้สลับข้อมูลของโหนดที่อยู่ติดกัน 2 โหนด
- ขั้นตอนที่ 2: เมื่อผ่านด่าน 1 องค์ประกอบที่ใหญ่ที่สุดจะอยู่ท้ายรายการ
- ขั้นตอนที่ 3: เรายุติการวนซ้ำเมื่อองค์ประกอบทั้งหมดเริ่มต้นขึ้น
ในทำนองเดียวกัน Bubble sort C ++ คืออะไร เรียงลำดับฟอง . ใน การเรียงลำดับฟอง เป็นองค์ประกอบ จัดเรียง พวกเขาค่อยๆ " ฟอง " (หรือเพิ่มขึ้น) ไปยังตำแหน่งที่เหมาะสมในอาร์เรย์เช่น ฟองสบู่ เพิ่มขึ้นในแก้วโซดา NS การเรียงลำดับฟอง เปรียบเทียบองค์ประกอบที่อยู่ติดกันของอาร์เรย์ซ้ำๆ องค์ประกอบที่หนึ่งและที่สองจะถูกเปรียบเทียบและสลับกันหากไม่เป็นระเบียบ
ประการที่สอง คุณจะเรียงลำดับข้อมูลในรายการที่เชื่อมโยงอย่างไร
อัลกอริทึม
- สร้างโหนดคลาสซึ่งมีแอตทริบิวต์สองอย่าง: data และ next
- สร้าง SortList คลาสอื่นซึ่งมีสองแอตทริบิวต์: head และ tail
- addNode() จะเพิ่มโหนดใหม่ในรายการ:
- sortList() จะเรียงลำดับโหนดของรายการจากน้อยไปหามาก
- display() จะแสดงโหนดที่มีอยู่ในรายการ:
อัลกอริทึมการเรียงลำดับที่ดีที่สุดสำหรับรายการลิงก์ใด
ผสานการเรียงลำดับ มักนิยมใช้ในการเรียงลำดับรายการที่เชื่อมโยง ประสิทธิภาพการเข้าถึงแบบสุ่มที่ช้าของรายการที่เชื่อมโยงทำให้อัลกอริธึมอื่นๆ (เช่น Quicksort ) ทำงานได้ไม่ดีและอื่น ๆ (เช่น heapsort ) เป็นไปไม่ได้อย่างสมบูรณ์ ให้ head เป็นโหนดแรกของรายการที่เชื่อมโยงที่จะเรียงลำดับและ headRef เป็นตัวชี้ไปยังส่วนหัว