এখানে আমরা দেখব ব্রিক সর্ট কীভাবে কাজ করে। ব্রিক সর্ট হলো বাবল সর্টের একটি মডিফিকেশন। এই অ্যালগরিদম দুটি অংশে ভাগ করা হয়েছে। এগুলো হলো অড পার্ট এবং ইভেন পার্ট। অড পার্টে আমরা অড ইনডেক্সড আইটেমগুলোর উপর বাবল সর্ট ব্যবহার করব, এবং ইভেন পার্টে ইভেন ইনডেক্সড এলিমেন্টগুলোর উপর বাবল সর্ট ব্যবহার করব। ধারণার জন্য অ্যালগরিদমটি দেখি।
অ্যালগরিদম
brickSort(arr, n)
begin flag := false while the flag is not true, do flag := true for i := 1 to n-2, increase i by 2, do if arr[i] > arr[i+1], then exchange arr[i] and arr[i+1] flag := false end if done for i := 0 to n-2, increase i by 2, do if arr[i] > arr[i+1], then exchange arr[i] and arr[i+1] flag := false end if done done end
উদাহরণ
#includeusing namespace std; void brickSort(int arr[], int n){ bool flag = false; while(!flag){ flag = true; for(int i = 1; i arr[i+1]){ swap(arr[i], arr[i+1]); flag = false; } } for(int i = 0; i arr[i+1]){ swap(arr[i], arr[i+1]); flag = false; } } } } main() { int data[] = {54, 74, 98, 154, 98, 32, 20, 13, 35, 40}; int n = sizeof(data)/sizeof(data[0]); cout << "Sorted Sequence "; brickSort(data, n); for(int i = 0; i আউটপুট
Sorted Sequence 13 20 32 35 40 54 74 98 98 154