Java实现
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1, 1};
bubble(arr);
printArr(arr);
}
private static void bubble(int[] arr) {
boolean flag = true;
for (int i = 0; i < arr.length - 1 && flag; i++) {
flag = false;
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr, j, j + 1);
flag = true;
}
}
}
}
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
private static void printArr(int[] arr) {
for (int value :
arr) {
System.out.print(value + " ");
}
}
}
C++实现
#include <iostream>
using namespace std;
void bubbleSort(int *arr, int length);
void swap(int arr, int i, int j);
void printArr(int *arr, int length);
void swap(int *arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
void bubbleSort(int *arr, int length) {
bool flag = true;
for (int i = 0; i < length - 1 && flag; i++) {
flag = false;
for (int j = 0; j < length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr, j, j + 1);
flag = true;
}
}
}
}
void printArr(int *arr, int length) {
for (int i = 0; i < length; i++) {
cout << arr[i] << " ";
}
}
int main() {
int arr[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
int length = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, length);
printArr(arr, length);
}
JavaScript实现
function swap(arr,i,j){
var temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
function bubbleSort(arr) {
for(var i=0;i<arr.length-1;i++){
for(var j=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
swap(arr,j,j+1);
}
}
}
return arr;
}
var arr = [9,8,7,6,5,4,3,2,1];
console.log(bubbleSort(arr));
|