您的位置:首页 > 编程语言 > Java开发

java算法(一)——排序算法(上)

2016-06-12 14:42 295 查看
排序(sort)是将一组数据按照一定的规则来进行排列,一般按照递增或者递减的顺序来进行排列。排序算法是一种最基本的算法,但是在实际应用中非常广泛,对于初学编程人来说,排序算法也是最基本的算法之一。本节主要讲解排序算法中相对简单的几种,分别是:

1、冒泡排序

2、选择排序

3、插入排序

后边还会介绍一些,其他的排序方法,比如:shell排序、快速排序、堆排序等等。

1、冒泡排序 (简单基本)

public static void bubbleSort(int[] a) {
int temp;
for (int i = 1; i < a.length; i++) {
//将相邻两个数进行比较,较大的数往后冒泡
for (int j = 0; j < a.length - i; j++) {
if (a[j] > a[j + 1]) {
//交换相邻两个数
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
System.out.print("第"+i+"步排序结果:");			//输出每步排序的结果
for(int k=0;k<a.length;k++)
{
System.out.print(" "+a[k]); // 输出
}
System.out.print("\n");
}
}


2、选择排序

public static void selectSort(int[] a)
{
int index,temp;
for (int i = 0; i < a.length-1; i++)
{
index = i;
for (int j = i+1; j <a.length; j++)
{
if (a[j] < a[index])
{
index = j;
}
}
//交换两个数
if(index!=i)
{
temp=a[i];
a[i]=a[index];
a[index]=temp;
}
System.out.print("第"+i+"步排序结果:");			//输出每步排序的结果
for(int h=0;h<a.length;h++)
{
System.out.print(" "+a[h]);				//输出
}
System.out.print("\n");
}
}

3、插入排序

static void insertionSort(int[] a)  				//插入排序
{
int i,j,t,h;
for (i=1;i<a.length;i++)
{
t=a[i];
j=i-1;
while(j>=0 && t<a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=t;

System.out.print("第"+i+"步排序结果:");			//输出每步排序的结果
for(h=0;h<a.length;h++)
{
System.out.print(" "+a[h]);				//输出
}
System.out.print("\n");
}
}


前三种排序方式相对简单,但却非常基本,掌握之后用处很大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: