Java
/**
* @author LiuZhiguo
* @date 2019/10/14 10:41
*/
public class BubbleSort {
void bubbleSort(int[] R, int n){
for (int i=n-1;i>=1;i--){
int flag = 0;
int temp;
for (int j=1;j<=i;j++){
if (R[j-1]>R[j]){
temp = R[j];
R[j] = R[j-1];
R[j-1] = temp;
flag =1;
}
}
if (flag == 0)
return;
}
}
public static void main(String[] args){
BubbleSort bubbleSort = new BubbleSort();
int[] R = {49,38,65,97,76,13,27,49};
bubbleSort.bubbleSort(R, R.length);
for (int i=0;i<R.length;i++)
System.out.println(R[i]);
}
}
Python
class BubbleSort:
def bubbleSort(self, nums):
n = len(nums)
for i in range(n, 0, -1):
flag = False
for j in range(1, i):
if nums[j-1] > nums[j]:
temp = nums[j]
nums[j] = nums[j-1]
nums[j-1] = temp
flag = True
if flag == False: #flag还是False说明一趟下来,序列没有发生变动,已经有序
return
if __name__ == '__main__':
test = BubbleSort()
nums = [49, 38, 65, 97, 76, 13, 27, 49]
test.bubbleSort(nums)
print(nums)
结果:
E:\Anaconda3\python.exe D:/program/src/main/Python/BubbleSort.py
[13, 27, 38, 49, 49, 65, 76, 97]
Process finished with exit code 0