এখানে দুটি ইউজার ইনপুট লিস্ট দেওয়া আছে, যাদের এলিমেন্টগুলো আনসর্টেড। আমাদের কাজ হলো এই দুটি আনসর্টেড অ্যারে মার্জ করা এবং তারপর লিস্টটি সর্ট করা।
উদাহরণ
Input: A[] = {100, 50, 150} B[] = {200, 30, 20} Output: Merge List: {20, 30, 50, 100, 150, 200}
অ্যালগরিদম
Step 1: প্রথমে দুটি ইউজার ইনপুট লিস্ট তৈরি করুন। Step 2: ফাইনাল মার্জ লিস্টের সাইজ = (প্রথম লিস্টের সাইজ + দ্বিতীয় লিস্টের সাইজ)। Step 3: তারপর sort() মেথড দিয়ে দুটি লিস্ট সর্ট করুন। Step 4: দুটি সর্টেড লিস্ট মার্জ করে থার্ড লিস্টে স্টোর করুন। Step 5: a[]-র বাকি এলিমেন্টগুলো মার্জ করুন (যদি থাকে)। b[]-র বাকি এলিমেন্টগুলো মার্জ করুন (যদি থাকে)। Step 6: মার্জড সর্টেড লিস্ট ডিসপ্লে করুন।
উদাহরণ কোড
# পাইথন প্রোগ্রাম: দুটি আনসর্টেড লিস্ট সর্টেড অর্ডারে মার্জ করতে # ফাংশন: সর্টেড অর্ডারে অ্যারে মার্জ করতে def unsortedarray(a, b, res, n, m): # a[] এবং b[] সর্ট করা a.sort() b.sort() # দুটি সর্টেড অ্যারে res[]-এ মার্জ করা i, j, k = 0, 0, 0 while (i < n and j < m): if (a[i] <= b[j]): res[k] = a[i] i += 1 k += 1 else: res[k] = b[j] j += 1 k += 1 while (i < n): # a[]-র বাকি এলিমেন্ট মার্জ (যদি থাকে) res[k] = a[i] i += 1 k += 1 while (j < m): # b[]-র বাকি এলিমেন্ট মার্জ (যদি থাকে) res[k] = b[j] j += 1 k += 1 # ড্রাইভার কোড A = list() n = int(input("Enter the size of the First List ::")) print("Enter the Element of First List ::") for i in range(int(n)): k = int(input("")) A.append(k) B = list() m = int(input("Enter the size of the Second List ::")) print("Enter the Element of Second List ::") for i in range(int(n)): k = int(input("")) B.append(k) # ফাইনাল মার্জ লিস্ট res = [0 for i in range(n + m)] unsortedarray(A, B, res, n, m) print("Sorted merged list :") for i in range(n + m): print(res[i],)
আউটপুট
Enter the size of the First List: 4 Enter the Element of First List:: 8 79 56 3 Enter the size of the Second List: 4 Enter the Element of Second List:: 67 1 9 45 Sorted merged list: 1 3 8 9 45 56 67 79