sub bubbleSort { my @arr = @_;
my $n = scalar @arr;
for (my $i = 0; $i < $n-1; $i++) { for (my $j = 0; $j < $n-$i-1; $j++) { if ($arr[$j] > $arr[$j+1]) { (my $arr[$j], $arr[$j+1]) = ($arr[$j+1], $arr[$j]);
} } } return @arr;
}
Python
def bubbleSort(arr):
n = len(arr)
for i in range(n-1):
for j in range(n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
Ruby
def bubbleSort(arr)
n = arr.length
(0...n-1).each do |i|
(0...n-i-1).each do |j|
if arr[j] > arr[j+1]
arr[j], arr[j+1] = arr[j+1], arr[j]
end end end arr
end
Delphi
procedure BubbleSort(var Arr: arrayof Integer);
var i, j, Temp: Integer;
begin for i := 0to High(Arr) -1do for j := 0to High(Arr) - i - 1do if Arr[j] > Arr[j + 1] then begin Temp := Arr[j];
Arr[j] := Arr[j + 1];
Arr[j + 1] := Temp;
end;
end;
Rust
fn bubbleSort(arr: &mut[i32]) {
let n = arr.len();
for i in0..n-1 {
for j in0..n-i-1 {
if arr[j] > arr[j+1] {
arr.swap(j, j+1);
}
}
}
}
function bubbleSort(a)
{ var swapped;
do{ swapped = false;
for (var i=0; i < a.length-1; i++) { if (a[i] > a[i+1]) { var temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
swapped = true;
} } }while (swapped);
}
Lua
function bubbleSort(arr)
local n = #arr
for i = 1, n-1do for j = 1, n-ido if arr[j] > arr[j+1] then arr[j], arr[j+1] = arr[j+1], arr[j]
end end end end