用Python面向对象代码,实现冒泡排序算法,对一个列表进行排序。 输入数组长度n,然后依次输入数组的值, 输出排序后的数组 。不使用内置函数。
时间: 2024-10-24 10:04:38 浏览: 20
当然可以。在Python中,我们可以创建一个名为`BubbleSort`的类来实现冒泡排序算法。以下是详细的代码示例:
```python
class BubbleSort:
def __init__(self, n):
self.n = n
self.array = []
def input_array(self):
print("请输入数组的长度:", end="")
n = int(input())
self.array = [int(input()) for _ in range(n)]
return self.array
def bubble_sort(self):
for i in range(self.n):
# 冒泡过程
for j in range(0, self.n-i-1): # 最后i个元素已经排好序了
if self.array[j] > self.array[j+1]:
self.array[j], self.array[j+1] = self.array[j+1], self.array[j]
return self.array
def print_sorted_array(self):
print("排序后的数组是:", self.array)
# 使用示例
sorter = BubbleSort(5) # 假设输入长度为5
sorter.input_array()
sorted_array = sorter.bubble_sort()
sorter.print_sorted_array()
```
在这个代码中,我们首先定义了一个类`BubbleSort`,它有三个方法:`__init__`用于初始化数组,`input_array`用于获取用户输入并存储数组,`bubble_sort`负责执行冒泡排序,最后`print_sorted_array`用来显示排序后的数组。
你可以通过创建`BubbleSort`实例,并调用相应的方法来实现冒泡排序功能。
阅读全文