Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Bubble Sort: อัลกอริทึมจัดเรียงแบบเปรียบเทียบ


คืออะไร?

Bubble Sort เป็น Comparison-based Sorting Algorithm เปรียบเทียบและสลับ adjacent elements เพื่อจัดลำดับ เรียบง่าย แต่ ไม่เหมาะกับข้อมูลเยอะ ใช้เวลานาน

Complexity

  • Time: Best O(n), Average O(n²), Worst O(n²)
  • Space: O(1)

Input/Output

Input:  56 98 78 12 30 51
Output: 12 30 51 56 78 98

อัลกอริทึม

bubbleSort(array, size):
  for i = 0 to size-1:
    flag = 0
    for j = 0 to size-i-2:
      if array[j] > array[j+1]:
        swap(array[j], array[j+1])
        flag = 1
    if flag != 1: break  // No swap = sorted

โค้ด C++ และ Output

// swap function, display function, bubbleSort function
// main: input n, array, display before/after sort
Enter the number of elements: 6
Enter elements: 56 98 78 12 30 51
Array before Sorting: 56 98 78 12 30 51
Array after Sorting: 12 30 51 56 78 98