1. 冒泡排序
public void bubbleSort()
{
int out, in;
for(out=nElems-1; out>1; out--) // outer loop (backward)
for(in=0; in<out; in++) // inner loop (forward)
if(
a[in] > a[in+1] ) // out of order?
swap(in, in+1);
// swap them
} // end bubbleSort()
2. 选择排序
public void selectionSort()
{
int out, in, min;
for(out=0; out<nElems-1; out++) // outer loop
{
min = out; // minimum
for(in=out+1;
in<nElems; in++) // inner loop
if(a[in] < a[min] )
// if min greater,
min = in; // we have a new
min
swap(out, min); // swap them
} //
end for(out)
} // end selectionSort()
3. 插入排序
public void insertionSort()
{
int in, out;
for(out=1; out<nElems; out++) // out is dividing line
{
long temp = a[out]; // remove marked item
in = out; // start shifts at out
while(in>0
&& a[in-1] >= temp) // until one is smaller,
{
a[in] = a[in-1]; // shift item to right
--in;
// go left one position
}
a[in] = temp;
// insert marked item
} // end for
} // end
insertionSort()