Bài tập: Danh sách trong Python.Trộn trực tiếp 2 danh sách.

LẬP TRÌNH PYTHON

 

Trộn hai mảng đã được sắp xếp theo thứ tự tăng dần lại thành một mảng mới mà vẫn đảm bảo thứ tự của nó.

Phương pháp trộn trực tiếp. Không dùng sort để sắp xếp mảng kết quả.

#Trộn 2 dãy đã sắp xếp sao cho thứ tự không thay đồi
#VD a=[1,2,3,4] b=[1,2,3]
#Kết quá [1 1 2 2 3 4]
n=int(input("Nhập số phần tử của day A:"))
a=[]
for i in range(n):a.append(int(input("a["+str(i)+"]=")))
a.sort(reverse=0)
b=[]
m=int(input("Nhập số phần tử của dãy B:"))
for i in range(m):b.append(int(input("b["+str(i)+"]=")))
b.sort(reverse=0)
print("Dãy A:",end=" ")
for i in a:print(i,end=" ")
print()
print("Dãy B:",end=" ")
for i in b:print(i,end=" ")
i=0
j=0
kq=[]
while (i<n)and(j<m):
    if (a[i]<b[j]):
        kq.append(a[i])
        i=i+1
    else:
        kq.append(b[j])
        j=j+1
print()
for d1 in range(i,n):
    kq.append(a[d1])
for d2 in range(j,m):
    kq.append(b[d2])
print("Dãy kết quả:",end=" ")
for i in kq: print(i,end=" ")

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *