สร้างอาร์เรย์ 3 อาร์เรย์จากอินพุตผู้ใช้ (unsorted) แล้วเรียงทั้งสาม ขนาดคือ n1,n2,n3 ตำแหน่งเริ่มต้นทุกอาร์เรย์คือ 0 i=0,j=0,k=0 แล้ววนลูปผ่านทั้งสามและตรวจสอบว่าสมาชิกทั้งสามเท่ากันหรือไม่ ถ้าเท่ากันพิมพ์ ไม่อย่างนั้นไปสมาชิกถัดไป
ตัวอย่าง
A = {1, 2, 3, 4, 5}
B = {2, 5, 12, 22, 7}
C = {1, 9, 2, 89, 80}
ผลลัพธ์
2
อัลกอริทึม
commonele(A1,A2,A3,n1,n2,n3) /* A1, A2, A3 คืออาร์เรย์จำนวนเต็มที่เรียงแล้ว size1,size2,size3 คือขนาด */ ขั้นตอนที่ 1: เริ่มต้นดัชนีสำหรับ A1, A2, A3: i=0, j=0, k=0 ขั้นตอนที่ 2: วนลูปผ่านสามอาร์เรย์พร้อมกัน while อาร์เรย์ไม่ว่าง While(iโค้ดตัวอย่าง
# พิมพ์สมาชิกร่วมในสามอาร์เรย์ที่เรียงแล้ว def commonele(X, Y, Z, n1, n2, n3): i, j, k = 0, 0, 0 print("สมาชิกร่วม ::>") while (i < n1 and j < n2 and k < n3): if (X[i] == Y[j] and Y[j] == Z[k]): print(X[i]) i += 1 j += 1 k += 1 elif X[i] < Y[j]: i += 1 elif Y[j] < Z[k]: j += 1 else: k += 1 # โปรแกรมหลัก A = list() B = list() C = list() n1 = int(input("ป้อนขนาดลิสต์แรก ::")) n2 = int(input("ป้อนขนาดลิสต์ที่สอง ::")) n3 = int(input("ป้อนขนาดลิสต์ที่สาม ::")) print("ป้อนสมาชิกของลิสต์แรก ::") for i in range(int(n1)): k = int(input("")) A.append(k) print("ป้อนสมาชิกของลิสต์ที่สอง ::") for j in range(int(n2)): k1 = int(input("")) B.append(k1) print("ป้อนสมาชิกของลิสต์ที่สาม ::") for j in range(int(n3)): k1 = int(input("")) C.append(k1) X = sorted(A) Y = sorted(B) Z = sorted(C) print("ลิสต์แรกที่เรียง ::>", X) print("ลิสต์ที่สองที่เรียง ::>", Y) print("ลิสต์ที่สามที่เรียง ::>", Z) commonele(X, Y, Z, n1, n2, n3)ผลลัพธ์
ป้อนขนาดลิสต์แรก :: 4 ป้อนขนาดลิสต์ที่สอง :: 4 ป้อนขนาดลิสต์ที่สาม :: 5 ป้อนสมาชิกของลิสต์แรก :: 23 12 45 8 ป้อนสมาชิกของลิสต์ที่สอง :: 34 8 45 120 ป้อนสมาชิกของลิสต์ที่สาม :: 2 4 8 45 1 ลิสต์แรกที่เรียง ::> [8, 12, 23, 45] ลิสต์ที่สองที่เรียง ::> [8, 34, 45, 120] ลิสต์ที่สามที่เรียง ::> [1, 2, 4, 8, 45] สมาชิกร่วม ::> 8 45