java常见的几种排序算法
来源:互联网 发布:php 扇形统计图 编辑:程序博客网 时间:2024/04/29 05:22
public class Arithmetic{
public static void main(String [] args){
int [] a ={7,1,3,5,4,9,8,6,2,0};
print(a);
//直接插入排序
inserSort(a);
print(a);
//冒泡排序
buddleSort( a);
print(a);
//选择排序
selectSort(a);
print(a);
//快速排序
quickSort(a,0,a.length-1);
print(a);
//快速排序
shellSort( a);
print(a);
}
public static void print(int [] a){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
//直接插入排序
private static void inserSort(int [] a){
int i,j,k,temp;
for(i=1;i<a.length;i++){
temp = a[i];
j=i-1;
while(j>=0&&temp<a[j]){
a[j+1] = a[j];
j--;
}
a[j+1] = temp;
}
}
//冒泡排序
public static void buddleSort(int [] a){
int temp;
for(int i=0;i<a.length;i++){
for(int j=a.length-1;j>i;j--){
if(a[j]<a[j-1]){
temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
}
}
}
}
//快速排序
public static void quickSort(int [] a,int s, int t){
int i=s,j=t;
int temp = 0;
if(s<t){
temp=a[s];
while(i!=j){
while(j>i&&a[j]>temp)
j--;
a[i]=a[j];
while(i<j&&a[i]<temp)
i++;
a[j]=a[i];
}
a[i]=temp;
quickSort(a,s,i-1);
quickSort(a,i+1,t);
}
}
//选择排序
public static void selectSort(int [] a){
int k,temp,j;
for(int i =0;i<a.length;i++){
k=i;
for(j=i+1;j<a.length;j++){
if(a[j]<a[k]) k=j;
}
if(k!=i){
temp = a[i];
a[i] = a[k];
a[k]=temp;
}
}
}
//希尔排序
public static void shellSort(int [] a){
int i,j,k,d,temp;
d=a.length/2;
while(d>0){
for(i=d;i<a.length;i++){
j=i-d;
while(j>=0&&a[j]>a[j+d]){
temp = a[j];
a[j]= a[j+d];
a[j+d] = temp;
j=j-d;
}
d=d/2;
}
}
}
}
- java常见的几种排序算法
- JAVA常见的几种排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- 用Java实现几种常见的排序算法
- directshow对AVI文件的分时音频提取
- HTTP请求:GET与POST方法的区别
- How to use Eclipse Memory Analyzer to analyze JVM Memeory Issue
- mysql 性能优化方案
- ASP.NET中自己总结的一些东西
- java常见的几种排序算法
- IOS成长之路-正则表达式的简单使用
- [STAThread]的含义
- Rest学习笔记(前言)
- 配置SUSE linux的ip地址
- 如何正确的关闭 MFC 线程
- python in android
- 数据库中关于"横杠日期"的模糊查询
- Build your own PHP on Windows