java等各种语言数组排序方法

java数组排序方法,常用的排序方法很多,有冒泡排序法、选择排序法、快速排序法,插入排序法等

详细讲一下冒泡排序法。一轮一轮进行比较,每一轮相邻两个进行比较。

第一轮:从第1个数据开始,将相邻的的两个数据进行比较,如果大数在前,则将这两个数进行交换;然后在比较第2个和第3个数据,当第2个数大于第3个数时,交换这两个数;重复这个过程,直到最后两个数比较完毕。经过这样一轮比较和交换,所有的数中最大的数将被排在数据序列的最后。这个过程称为第一轮排序。

第二轮:对从第1个数据开始到倒数第2个数据之间的所有数进行第一轮的比较和交换,比较和交换的结果为数据序列中的次大的数被排到倒数第2的位置。

以此类推......直到全部排完

由以上分析可以得出,如果有N个数需要排序,则必须经过N-1轮才能完成排序,其中在M轮比较过程中包含N-M次的两两数比较和交换的过程。

举例代码如下:

public class  Array{
public static void main(String args[])
{
int[] a={25,24,12,76,101,96,28};
 for(int i=1;i<a.length-1;i++)//外层循环控制比较的轮数
{
for(int j=0;j<a.length-i;j++)// 定义内层循环控制每一轮比较的次数
{
if(a[j]>a[j+1])// 比较相邻元素
{

// 下面的三行代码用于交换两个元素
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(int k=0;k<a.length;k++) 
{
System.out.println(a[k]+" ");
}
 
}
}


猜你喜欢

转载自blog.csdn.net/lexiaowu/article/details/78010696