欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JAVA实现选择排序,插入排序,冒泡排序,以及两个有序数组的合并

程序员文章站 2022-10-06 15:14:53
一直到大四才开始写自己的第一篇博客,说来实在有点羞愧。今天写了关于排序的算法题,有插入排序,冒泡排序,选择排序,以下贴上用JAVA实现的代码:、 public class test5{ public static void print(int []array) { for(int i=0;i

  一直到大四才开始写自己的第一篇博客,说来实在有点羞愧。今天写了关于排序的算法题,有插入排序,冒泡排序,选择排序,以下贴上用java实现的代码:、

 

public class test5
{

public static void print(int []array)
{
for(int i=0;i<array.length;i++)
system.out.print(" "+array[i]);

}

public static void selectsort(int array[])
{
for (int i = 0; i < array.length; i++)
{
int min=i;
for(int j=i+1;j<array.length;j++)
if(array[min]>array[j])
min =j;
if(i!=min)
{
int temp=array[i];
array[i]=array[min];
array[min]=temp;
}
}
}

public static void insertsort(int array[])
{
for (int i = 1; i < array.length; i++)
{
int a=array[i];
int j=i-1;
for(;j>=0;j--)
{
if(a<array[j])
array[j+1]=array[j];
else
break;
}
array[j+1]=a;
}
}

public static void bubblesort(int array[])
{

for(int i=0;i<array.length-1;i++)
{
for(int j=0;j<array.length-1-i;j++)
{
if(array[j]>array[j+1])
{
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}

}

}

public static int[] merge(int a[],int b[])
{
int c[]=new int[a.length+b.length];
int i=0,j=0,k=0;
while (i<a.length&&j<b.length)
{
if (a[i]>b[j])
c[k++]=b[j++];
else
c[k++]=a[i++];
}
while(i<a.length)
c[k++]=a[i++];
while(j<b.length)
c[k++]=b[j++];
return c;
}

public static void main(string[] args)
{
int a[]={55,76,29,80,92,41,16};
int b[]={73,10,84,99,69,45};


// system.out.println("hello" );

system.out.print("数组a:" );
print(a);
system.out.print('\n');
system.out.print("数组b:" );
print(b);
system.out.print('\n');
system.out.print("选择排序:" );
// selectsort(a);
print(a);
system.out.print('\n');
system.out.print("冒泡排序:" );
bubblesort(a);
print(a);
system.out.print('\n');
system.out.print("插入排序:" );
insertsort(b);
print(b);
system.out.print('\n');
system.out.print("合并数组:" );
print(merge(a, b));
}
}