begin
temp:
=a[j];
a[j]:
=a[j+1];
a[j+1]:
=temp;
end;
writeln(‘Arraysorted:
’);
fori:
=1toNdowrite(a,’‘);
writeln;
writeln(‘Endsorted.’);
readln;
end.
C#
staticvoidMain(string[]args)
{
int[]array={23,45,16,7,42};
intlength=array.Length–1;
boolisExchanged=false;
for(inti=0;i{
isExchanged=false;
for(intj=length;j>i;j–)
{
if(array[j]>array[j-1])
{
inttemp=array[j];
array[j]=array[j-1];
array[j-1]=temp;
isExchanged=true;
}
}
if(!
isExchanged)//一遍比较过后如果没有进行交换则退出循环
break;
}
foreach(intiinarray)
{
Console.WriteLine(i);
}
Console.Read();
}
Python
#BubbleSortusedpython3.1orpython2.x
defbubble(str):
tmplist=list(str)
count=len(tmplist)
foriinrange(0,count-1):
forjinrange(0,count-1):
iftmplist[j]>tmplist[j+1]:
tmplist[j],tmplist[j+1]=tmplist[j+1],tmplist[j]
returntmplist
#useage:
str=“zbac”
print(bubble(str))#['a','b','c','z']
number=[16,134,15,1]
print(bubble(number))#[1,15,16,134]
JS
function(array){
vari=0,len=array.length,
j,d;
for(;ifor(j=0;jif(array[i]d=array[j];
array[j]=array[i];
array[i]=d;
}
}
}
returnarray;
}
ActionScript
vararr:
Array=newArray(88,0,4,22,89,0,8,15);
vartemp:
int=0;
for(vari:
int=0;ifor(varj:
int=0;jif(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(vart:
int=0;ttrace(arr[t]);
}
伪代码
BUBBLESORT(A)
fori<-1tolength[A]
doforj<-length[A]downtoi+1
doifA[j]thenexchangeA[j]<->A[j-1]
PL/SQL代码
declare
typevarr_typeisvarray(10)ofinteger;
varrvarr_type:
=varr_type(65,32,44,78,20,13,28,99,0,1);
iinteger;
jinteger;
tinteger;
begin
foriinreverse1..10loop–保证最大的那个值在最终的位置上
forjin1..i-1loop
ifvarr(j)>varr(j+1)then
t:
=varr(j);
varr(j):
=varr(j+1);
varr(j+1):
=t;
endif;
endloop;
endloop;
foriin1..10loop
dbms_output.put_line(varr(i));
endloop;
end;
REALBasic
PrivateSubForm_Load()
Dima,cAsVariant
DimiAsInteger,jAsInteger,tempAsInteger
a=Array(17,45,12,80,50)
Forj=0ToUBound(a)–1
Fori=0ToUBound(a)–1
If(a(j)>a(i))Then
temp=a(j)
a(j)=a(i)
a(i)=temp
EndIf
Next
Next
Fori=0toUBound(a)
msgboxstr(a(i))
Next
EndSub
变种算法
一个叫做鸡尾酒排序(也称双向冒泡排序)的算法,和冒泡排序的“编程复杂度”一样,但对随机序列排序性能稍高于普通冒泡排序,但是因为是双向冒泡,每次循环都双向检查,极端环境下会出现额外的比较,导致算法性能的退化,比如“4、5、7、1、2、3”这个序列就会出现退化
本文信息:
冒泡排序算法及各种程序示例.