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

转载 2013年06月05日 16:47:31
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+"  "); 
}  
}  
}  

最简单之Java实现冒泡排序、选择排序、插入排序、希尔排序、归并排序和快速排序(转载请注明出处)

package sort; /** * @author 作者 E-mail:923861438@qq.com* 创建时间:* @version 1.0 * @parameter * @...

几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)

最近决定每天学点数据结构与算法,写博客来督促自己继续学习~ 以下的每个排序的写法格式基本按照先介绍基本思想,再描述具体过程,最后是具体代码。关于复杂度等问题后续更新。如有写的不严谨的地方,欢迎指...

插入排序、冒泡排序、选择排序、希尔排序、快速排序、归并排序、堆排序和LST基数排序——JAVA实现

首先是EightAlgorithms.java文件,代码如下: import java.util.Arrays; /* * 实现了八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 * 以...

冒泡排序-直接选择排序-直接插入排序-希尔排序-java实现

个人总结了4中简单的排序算法,使用java语言实现 类命名有些奇葩,主要是方便读者阅读 //冒泡排序算法 public class MaoPao {public static void main...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java类实现数组的五种排序 冒泡排序、选择排序、插入排序、希尔排序、数组排序
举报原因:
原因补充:

(最多只允许输入30个字)