用面向对象的方式写一个冒泡排序 python代码
时间: 2023-03-14 13:17:40 浏览: 97
class BubbleSort:
def __init__(self, nums):
self.nums = nums
def sort(self):
n = len(self.nums)
for i in range(n):
for j in range(0, n-i-1):
if self.nums[j] > self.nums[j+1] :
self.nums[j], self.nums[j+1] = self.nums[j+1], self.nums[j]
nums = [64, 34, 25, 12, 22, 11, 90]
bubbleSort = BubbleSort(nums)
bubbleSort.sort()
print ("排序后的数组:")
for i in range(len(nums)):
print(nums[i], end=" ")
相关问题
用Python面向对象代码,实现冒泡排序算法,对一个列表进行排序。 输入数组长度n依次输入数组的值, 输出排序后的数组 。不使用内置函数。
在Python中,你可以通过创建一个名为`BubbleSort`的类,来实现冒泡排序算法。下面是一个简单的例子:
```python
class BubbleSort:
def __init__(self, arr):
self.array = arr
def bubble_sort(self):
n = len(self.array)
for i in range(n - 1):
# 提前退出循环的标志
swapped = False
for j in range(0, n - i - 1):
if self.array[j] > self.array[j + 1]:
# 交换元素
self.array[j], self.array[j + 1] = self.array[j + 1], self.array[j]
swapped = True
# 如果一轮比较没有发生交换,说明已经有序,提前结束
if not swapped:
break
return self.array
# 示例用法
input_list = []
n = int(input("请输入数组长度: "))
for _ in range(n):
num = int(input(f"请输入第{i+1}个数: "))
input_list.append(num)
bubble_sorter = BubbleSort(input_list)
sorted_array = bubble_sorter.bubble_sort()
print("排序后的数组: ", sorted_array)
用Python面向对象代码,实现冒泡排序算法,对一个列表进行排序。 输入数组长度n,然后依次输入数组的值, 输出排序后的数组 。不使用内置函数。
当然可以。在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`实例,并调用相应的方法来实现冒泡排序功能。
阅读全文