একটি লিস্ট দেওয়া আছে, আমাদের কাজ হলো সাবলিস্টের দ্বিতীয় এলিমেন্ট অনুযায়ী লিস্টটি সর্ট করা। এখানে সিম্পল বাবল সর্ট (bubble sort) প্রয়োগ করা হয়েছে।
উদাহরণ
Input [['CCC', 15], ['AAA', 10], ['RRRR', 2],['XXXX', 150]] Output [['RRRR', 2], ['AAA', 10], ['CCC', 15], ['XXXX', 150]]
অ্যালগরিদম
ধাপ ১: একটি লিস্ট দেওয়া আছে। ধাপ ২: নেস্টেড লুপ ব্যবহার করে সাবলিস্টের দ্বিতীয় এলিমেন্ট অ্যাক্সেস করার চেষ্টা করা হয়েছে। ধাপ ৩: সকল অ্যারে এলিমেন্ট ট্রাভার্স করুন। ধাপ ৪: শেষ i এলিমেন্টগুলো ইতিমধ্যে সঠিক জায়গায় আছে। ধাপ ৫: ০ থেকে n-i-1 পর্যন্ত অ্যারে ট্রাভার্স করুন। ধাপ ৬: যদি এলিমেন্টটি পরবর্তী এলিমেন্টের চেয়ে বড় হয়, তবে সওয়াপ (swap) করুন।
উদাহরণ কোড
# পাইথন প্রোগ্রাম: সাবলিস্টের দ্বিতীয় এলিমেন্ট দিয়ে লিস্ট সর্ট # ইন-প্লেস সর্টিং, থার্ড ভেরিয়েবল ব্যবহার def sortlist(A): l = len(A) for i in range(0, l): for j in range(0, l-i-1): if (A[j][1] > A[j + 1][1]): tempo = A[j] A[j]= A[j + 1] A[j + 1]= tempo return A # ড্রাইভার কোড A =[['AAA', 10], ['CCC', 15], ['RRRR', 2], ['XXXX', 150]] print(sortlist(A))
আউটপুট
[['RRRR', 2], ['AAA', 10], ['CCC', 15], ['XXXX', 150]]