Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C ++ สำหรับการเรียงลำดับฟองแบบเรียกซ้ำ?


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

Input:53421
Output:12345

คำอธิบาย

การใช้ฟังก์ชันเรียกซ้ำ (เรียกตัวเอง) เปรียบเทียบคู่ที่อยู่ติดกันและสลับกันหากอยู่ในลำดับที่ไม่ถูกต้องจนกว่าอาร์เรย์จะอยู่ในลำดับ

ตัวอย่าง

#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
   for (int i = 0; i < n - 1; i++) {
      if (arr[i] > arr[i + 1]) {
         int temp = arr[i];
         arr[i] = arr[i+1];
         arr[i+1] = temp;
      }
   }
   if (n - 1 > 1) {
      bubbleSort(arr, n - 1);
   }
}
int main() {
   int arr[] = { 5,4,2,1,3 };
   int n = 5;
   bubbleSort(arr, n);
   for (int i = 0; i < n; i++) {
      cout<< arr[i]<<"\t";
   }
   return 0;
}