สารบัญ:

คุณจะสร้างการเรียงลำดับฟองในรายการที่เชื่อมโยงใน C ++ ได้อย่างไร
คุณจะสร้างการเรียงลำดับฟองในรายการที่เชื่อมโยงใน C ++ ได้อย่างไร

วีดีโอ: คุณจะสร้างการเรียงลำดับฟองในรายการที่เชื่อมโยงใน C ++ ได้อย่างไร

วีดีโอ: คุณจะสร้างการเรียงลำดับฟองในรายการที่เชื่อมโยงใน C ++ ได้อย่างไร
วีดีโอ: Ep.1 สอน Link ข้อมูลต่าง Sheet ให้อัพเดตอัตโนมัติ 2024, พฤศจิกายน
Anonim

ในการเรียงลำดับบับเบิ้ล เราทำตามขั้นตอนด้านล่าง:

  1. ขั้นตอนที่ 1: ตรวจสอบว่าข้อมูลใน 2 โหนดที่อยู่ติดกันนั้นเรียงลำดับจากน้อยไปมากหรือไม่ หากไม่เป็นเช่นนั้น ให้สลับข้อมูลของโหนดที่อยู่ติดกัน 2 โหนด
  2. ขั้นตอนที่ 2: เมื่อผ่านด่าน 1 องค์ประกอบที่ใหญ่ที่สุดจะอยู่ท้ายรายการ
  3. ขั้นตอนที่ 3: เรายุติการวนซ้ำเมื่อองค์ประกอบทั้งหมดเริ่มต้นขึ้น

ด้วยวิธีนี้ คุณจะสร้างการเรียงลำดับฟองในรายการที่เชื่อมโยงใน C++ ได้อย่างไร

ในการเรียงลำดับบับเบิ้ล เราทำตามขั้นตอนด้านล่าง:

  1. ขั้นตอนที่ 1: ตรวจสอบว่าข้อมูลใน 2 โหนดที่อยู่ติดกันนั้นเรียงลำดับจากน้อยไปมากหรือไม่ หากไม่เป็นเช่นนั้น ให้สลับข้อมูลของโหนดที่อยู่ติดกัน 2 โหนด
  2. ขั้นตอนที่ 2: เมื่อผ่านด่าน 1 องค์ประกอบที่ใหญ่ที่สุดจะอยู่ท้ายรายการ
  3. ขั้นตอนที่ 3: เรายุติการวนซ้ำเมื่อองค์ประกอบทั้งหมดเริ่มต้นขึ้น

ในทำนองเดียวกัน Bubble sort C ++ คืออะไร เรียงลำดับฟอง . ใน การเรียงลำดับฟอง เป็นองค์ประกอบ จัดเรียง พวกเขาค่อยๆ " ฟอง " (หรือเพิ่มขึ้น) ไปยังตำแหน่งที่เหมาะสมในอาร์เรย์เช่น ฟองสบู่ เพิ่มขึ้นในแก้วโซดา NS การเรียงลำดับฟอง เปรียบเทียบองค์ประกอบที่อยู่ติดกันของอาร์เรย์ซ้ำๆ องค์ประกอบที่หนึ่งและที่สองจะถูกเปรียบเทียบและสลับกันหากไม่เป็นระเบียบ

ประการที่สอง คุณจะเรียงลำดับข้อมูลในรายการที่เชื่อมโยงอย่างไร

อัลกอริทึม

  1. สร้างโหนดคลาสซึ่งมีแอตทริบิวต์สองอย่าง: data และ next
  2. สร้าง SortList คลาสอื่นซึ่งมีสองแอตทริบิวต์: head และ tail
  3. addNode() จะเพิ่มโหนดใหม่ในรายการ:
  4. sortList() จะเรียงลำดับโหนดของรายการจากน้อยไปหามาก
  5. display() จะแสดงโหนดที่มีอยู่ในรายการ:

อัลกอริทึมการเรียงลำดับที่ดีที่สุดสำหรับรายการลิงก์ใด

ผสานการเรียงลำดับ มักนิยมใช้ในการเรียงลำดับรายการที่เชื่อมโยง ประสิทธิภาพการเข้าถึงแบบสุ่มที่ช้าของรายการที่เชื่อมโยงทำให้อัลกอริธึมอื่นๆ (เช่น Quicksort ) ทำงานได้ไม่ดีและอื่น ๆ (เช่น heapsort ) เป็นไปไม่ได้อย่างสมบูรณ์ ให้ head เป็นโหนดแรกของรายการที่เชื่อมโยงที่จะเรียงลำดับและ headRef เป็นตัวชี้ไปยังส่วนหัว