下面是几种排序的用Java的实现:
冒泡排序
public class BubbleSortDemo
{
/**//*
* 从前到后扫描序列,比较相邻的两个元素大小,若发现逆序则交换位置 ,
* 使最大的达到序列的最后位置。然后再从后到前扫描剩下的序列,如此 。
* 当数列有序后不再继续循环
*/
private void bubbleSort(int[] numlist)
{
int in,out,temp;
boolean flag = false;
//从后到前,从最后一项开始到第二项扫描数列。
for( out=numlist.length-1; out>0;out--)
{
flag = true;
//从第一项到第out项扫描数列
for(in=0; in<out; in++)
{
//当前项大于后项,则交换位置。
if(numlist[in]>numlist[in+1])
{
temp = numlist[in];
numlist[in] = numlist[in+1];
numlist[in+1] = temp;
flag = false;
}
}
if(flag) break;
for(int i=0; i<numlist.length; i++)
System.out.print(numlist[i]+ " ");
System.out.println();
}
}
//输出数列
public void display(int[] numlist)
{
for(int i=0; i<numlist.length; i++)
System.out.print(numlist[i]+ " ");
System.out.println();
}
public static void main(String[] args)
{
BubbleSortDemo sort = new BubbleSortDemo();
int num[] = {4,11,17,6,1,2,13,15};
System.out.println("原序是:");
sort.display(num);
System.out.println("每次冒泡排序后是:");
sort.bubbleSort(num);
}
}