直接插入排序
2015-05-24 00:26
330 查看
import java.util.Scanner;
public class InsertSort{
public static void directSort(double n[]){//从数组下标为1的开始的元素进行直接插入排序
int i,j;
for(i=2;i<n.length;i++){
n[0]=n[i];
for(j=i-1;j>0 && n[j]>n[0];j--){
n[j+1]=n[j];
}
n[j+1]=n[0];
}
}
public static void showSort(double[] num){
System.out.println("sorted:");
for(int i=1;i<num.length;i++) {
System.out.print(num[i] + " ");
}
}
public static void main(String args[]){
double[] num={0};
Scanner in=new Scanner(System.in);
double newNumber;
System.out.println("enter 0 represents stop");
System.out.println("Please enter the proper numbers");
while(true){
newNumber=in.nextDouble();
if(newNumber==0f){
System.out.println("User stop the sort");
break;
}
double[] tmp=new double[num.length+1];//临时数组
System.arraycopy(num,0,tmp,0,num.length);//复制数组
tmp[num.length]=newNumber;
num=tmp;
directSort(num);
showSort(num);
}
}
}
public class InsertSort{
public static void directSort(double n[]){//从数组下标为1的开始的元素进行直接插入排序
int i,j;
for(i=2;i<n.length;i++){
n[0]=n[i];
for(j=i-1;j>0 && n[j]>n[0];j--){
n[j+1]=n[j];
}
n[j+1]=n[0];
}
}
public static void showSort(double[] num){
System.out.println("sorted:");
for(int i=1;i<num.length;i++) {
System.out.print(num[i] + " ");
}
}
public static void main(String args[]){
double[] num={0};
Scanner in=new Scanner(System.in);
double newNumber;
System.out.println("enter 0 represents stop");
System.out.println("Please enter the proper numbers");
while(true){
newNumber=in.nextDouble();
if(newNumber==0f){
System.out.println("User stop the sort");
break;
}
double[] tmp=new double[num.length+1];//临时数组
System.arraycopy(num,0,tmp,0,num.length);//复制数组
tmp[num.length]=newNumber;
num=tmp;
directSort(num);
showSort(num);
}
}
}
相关文章推荐
- Java 选择排序、冒泡排序、快速排序、直接插入排序、Java自带的排序等方法的使用和总结
- 冒泡排序(bubble sort)、直接插入排序(straight insertion sort)、简单选择排序(simple selection sort)
- 第十五周项目四 验证算法——直接插入排序
- 排序分析之直接插入排序
- 基本排序方法:冒泡排序、简单选择排序、直接插入排序
- 直接插入排序。数组下标实现。
- 插入排序之直接插入排序
- 【排序】直接插入排序
- 直接插入排序
- 第14周项目1(1)- 验证算法直接插入排序
- 直接插入排序 direct insertion sort
- 算法---直接插入排序法
- 插入排序(直接插入排序、希尔排序)
- 直接插入排序
- 六、内部排序综合(九种)—插入类排序(直接插入、折半插入、希尔排序);交换类排序(冒泡、快速);选择类排序(简单选择、堆排序);二路归并排序;基数排序
- OC下的冒泡排序,直接插入排序,折半插入排序
- 直接插入排序(升序排列)
- 直接插入排序
- 经典算法学习——直接插入排序
- 第十六周 项一(1).显示直接插入排序过程