java类实现数组的五种排序 冒泡排序、选择排序、插入排序、希尔排序、数组排序

public class sort { 
/**
* @param args 
* 对数组进行排序冒泡排序、选择排序、插入排序、希尔排序、数组排序
* 五种排序的方法
*/

public static void main(String[] args) { 
// TODO Auto-generated method stub
int a[] = new int[7];  
a[0]=12; 
a[1]=8; 
a[2]=5; 
a[3]=6; 
a[4]=9; 
a[5]=4; 
a[6]=11; 

int temp;  
        System.out.print("这是原数组:");   

for(int n:a){    
System.out.print("n="+n+" "); 
        }       

/**    
*冒泡排序:
*具体实现如下:
**/
for(int mi=0;mi<a.length;mi++)
	{ 
for(int mj=mi+1;mj<a.length;mj++)
	{ 
	if(a[mi]>a[mj]){ 
temp=a[mi]; 
a[mi]=a[mj]; 
a[mj]=temp; 
} 
} 
}  

System.out.println(); 
System.out.print("这是冒泡排序:"); 

for (int n:a) { 
System.out.print("n="+n+"  "); 
} 

/**
*选择排序:
*具体如下:
*/

for(int xi=0;xi<a.length;xi++){ 
int indexlow=xi; 
for(int xj=xi+1;xj<a.length;xj++)
	{ 
if(a[xj]<a[indexlow]){ 
indexlow=xj; 
}
} 
temp=a[xi]; 
a[xi]=a[indexlow]; 
a[indexlow]=temp; 
}  

 System.out.println(); 
System.out.print("这是选择排序:"); 
for(int n:a){ 
System.out.print("n="+n+"  "); 
} 

/**
*插入排序:
*具体如下:
*/
for(int ci=1;ci<a.length;ci++){ 
for(int cj=ci;(cj>0)&&(a[cj]<a[cj-1]);cj--){ 
temp=a[cj]; 
a[cj]=a[cj-1]; 
a[cj-1]=temp; 
} 
}  

System.out.println();  
System.out.print("这是插入排序:");  
for (int n:a) { 
System.out.print("n="+n+"  "); 
} 

/**
*希尔排序:
*具体如下:
*/

for(int increment=a.length/2;increment>0;increment/=2){ 
for(int si = increment; si < a.length; si++) { 
temp=a[si]; 
for(int sj = si; sj >=increment; sj-=increment) { 
if(temp<a[sj-increment]){ 
a[sj]=a[sj-increment];
}
else
{ 
break; 
} 
} 
a[si]=temp; 
} 
}  

System.out.println();  
System.out.print("这是希尔排序:"); 

 for(int n:a){  
System.out.print("n="+n+"  "); 
} 

/**
*数组排序:
*具体如下:
*/

java.util.Arrays.sort(a);

//就这一句直接的对数组其进行升序排列

 
System.out.println();  
System.out.print("这是数组排序:"); 

for(int n:a){ 
System.out.print("n="+n+"  "); 
}  
}  
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值