Đưa ra một danh sách trong Python và cung cấp các vị trí của các yếu tố, hãy viết một chương trình để trao đổi hai yếu tố trong danh sách. & NBSP;
Examples:
Đầu vào: list = [23, 65, 19, 90], pos1 = 1, pos2 = 3Output: [19, 65, 23, 90] List = [23, 65, 19, 90], pos1 = 1, pos2 = 3
Output : [19, 65, 23, 90]Đầu vào: list = [1, 2, 3, 4, 5], pos1 = 2, pos2 = 5output: [1, 5, 3, 4, 2] List = [1, 2, 3, 4, 5], pos1 = 2, pos2 = 5
Output : [1, 5, 3, 4, 2]
Cách tiếp cận số 1: Hoán đổi đơn giản, sử dụng giao dấu và nbsp; Vì các vị trí của các yếu tố được biết đến, chúng ta chỉ có thể trao đổi vị trí của các yếu tố. & Nbsp; Simple swap,
using comma assignment
Since the positions of the elements are known, we can simply swap the positions of the elements.
Python3
def
swapPositions[
list
, pos1, pos2]:
Các
[19, 65, 23, 90]8
list
Is
def
1
[19, 65, 23, 90]2
def
3[19, 65, 23, 90]4
def
5Các
Output:
[19, 65, 23, 90]
Độ phức tạp về thời gian: O [1], để sử dụng các hoạt động không đổi.AUXILIARY Không gian: O [1], để sử dụng không gian thêm không đổi.O[1], for using constant operations.
Auxiliary Space: O[1], for using constant extra space.
& nbsp; & nbsp; Cách tiếp cận #2: Sử dụng chức năng Danh sách sẵn.pop [] & nbsp; bật phần tử tại POS1 và lưu trữ nó trong một biến. Tương tự, bật phần tử tại POS2 và lưu trữ nó trong một biến khác. Bây giờ chèn hai phần tử popped ở vị trí ban đầu của nhau. & NBSP;
Approach #2 : Using Inbuilt list.pop[] function
Pop the element at pos1 and store it in a variable. Similarly, pop the element at pos2 and store it in another variable. Now insert the two popped element at each other’s
original position.
Python3
def
swapPositions[
list
, pos1, pos2]:
Các
[19, 65, 23, 90]8
list
list
, pos1, pos2]:
5
list
, pos1, pos2]:
8
[19, 65, 23, 90]8
list
Is
def
1
[19, 65, 23, 90]2
def
3[19, 65, 23, 90]4
def
5Các
Output:
[19, 65, 23, 90]
Độ phức tạp về thời gian: O [1], để sử dụng các hoạt động không đổi.AUXILIARY Không gian: O [1], để sử dụng không gian thêm không đổi.O[1], for using constant operations.
Auxiliary Space: O[1], for using constant extra space.
& nbsp; & nbsp; Cách tiếp cận #2: Sử dụng chức năng Danh sách sẵn.pop [] & nbsp; bật phần tử tại POS1 và lưu trữ nó trong một biến. Tương tự, bật phần tử tại POS2 và lưu trữ nó trong một biến khác. Bây giờ chèn hai phần tử popped ở vị trí ban đầu của nhau. & NBSP;
Approach #3 : Using tuple variable
Store the element at pos1 and pos2 as a pair in a tuple variable, say get. Unpack those elements with pos2 and pos1 positions in that list. Now, both the positions in
that list are swapped.
Python3
def
swapPositions[
list
, pos1, pos2]:
Các
[19, 65, 23, 90]8
list
[19, 65, 23, 90]8
list
Is
def
1
[19, 65, 23, 90]2
def
3[19, 65, 23, 90]4
def
5Các
Output:
[19, 65, 23, 90]
Độ phức tạp về thời gian: O [1], để sử dụng các hoạt động không đổi.AUXILIARY Không gian: O [1], để sử dụng không gian thêm không đổi.O[1], for using constant operations.
Auxiliary Space: O[1], for using constant extra space.
& nbsp; & nbsp; Cách tiếp cận #2: Sử dụng chức năng Danh sách sẵn.pop [] & nbsp; bật phần tử tại POS1 và lưu trữ nó trong một biến. Tương tự, bật phần tử tại POS2 và lưu trữ nó trong một biến khác. Bây giờ chèn hai phần tử popped ở vị trí ban đầu của nhau. & NBSP;
Python3
list
1
[19, 65, 23, 90]2
list
list
4
[19, 65, 23, 90]48
[19, 65, 23, 90]2
[19, 65, 23, 90]50
[19, 65, 23, 90]50
[19, 65, 23, 90]2
[19, 65, 23, 90]54
[19, 65, 23, 90]54
[19, 65, 23, 90]2
[19, 65, 23, 90]48
list
6
[19, 65, 23, 90]2
list
list
9swapPositions[
0def
3, pos1, pos2]:
2
Is
def
1
[19, 65, 23, 90]2
def
3[19, 65, 23, 90]4
def
5def
6def
7
[19, 65, 23, 90]0
def
9swapPositions[
0def
3swapPositions[
2swapPositions[
0def
3swapPositions[
5Độ phức tạp về thời gian: O [1], để sử dụng các hoạt động không đổi.AUXILIARY Không gian: O [1], để sử dụng không gian thêm không đổi.O[1], for using constant operations.
Auxiliary Space: O[1], for using constant extra space.