public class eachsort {//各种排序从小到大
private int [] a= {1,7,2,8,10,9,5,6,3,4};
public static void printarray(int [] a)
{
for(int i=0;
i{
System.out.print(a[i]+" ");
}
}
public int[] bubbleSort( )//冒泡
{
int temp=0;
int []a=this.a;
for(int i=0;
ifor(int j=0;
j{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
return a;
}
public int[] selectSort()//选择排序
{
int temp1=0;
int temp2=0;
int []a=this.a;
for(int i=0;
i{
temp1=i;
//每次排好一位temp1为最小值下标
for(int j=i;
j{
if(a[j+1]{
temp1=j+1;
}
temp2=a[i];
a[i]=a[temp1];
a[temp1]=temp2;
}
}
return a;
}
public int[] insertSort()//插入排序
{
int []a=this.a;
for(int i=1;
i{
int k=i;
//将每一次第i的值位置记录下来
int b=a[i];
int j=i-1;
do {
if(a[j]>b)
{
a[j+1]=a[j];
k--;
//应该往前移动到哪个位置
}
j--;
}while(j>=0);
a[k]=b;
}
return a;
}
publicint[]quickSort(int[]a,int low,int high)
{
a=this.a;
int i=low;
int j=high;
int key=a[low];
if(i>=j)
return a;
while(i
while(a[j]>key&&i
j--;
}
a[i]=a[j];
//小于key交换
while(a[i]
i++;
}
a[j]=a[i];
//大于k交换
}
a[i]=key;
quickSort(a,low,i-1);
quickSort(a,i+1,high);
return a;
}
public static void main(String[] args)
{
eachsort es=new eachsort();
int a[]=new int[10];
int []b=es.quickSort(a,0,9);
printarray(b);
}
【选择排序,简单排序,冒泡排序,快速排序的java代码实现】}
推荐阅读
- Java算法|Java 实现OS调度算法之先来先服务算法(FCFS)
- Java算法|Java 实现OS调度算法之短进程优先算法(SJF)
- Java中反射的概念、意义、用法(适合新手阅读)
- 算法|Java算法系列3--基于链表自定义队列
- java无限级树生成算法,空间复杂度为O(2n)