排序算法原理与实现java).docVIP

  • 1
  • 0
  • 约1.06万字
  • 约 14页
  • 2016-09-01 发布于贵州
  • 举报
排序算法原理与实现java)

Java程序员必知的8大排序合肥软件培训 [来源:本站 | 日期:2012年12月24日 | 浏览173 次] 字体:[大 中 小] 8种排序之间的关系: 1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n=2] 个数已经是排 好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数 也是排好顺序的。如此反复循环,直到全部排好顺序。 (2)实例 用java实现 package com.njue; public class insertSort { public insertSort(){ inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51}; int temp=0; for(int i=1;ia.length;i++){ int j=i-1; temp=a[i]; //将要插入的元素(从a[1]开始) for(;j=0tempa[j];j--){ //要插入的元素小于前面的元素 a[j+1]=a[j]; //将大于temp的值整体后移一个单位 } a[j+1]=temp; } for(int i=0;ia.length;i++) System.out.println(a[i]); } } 2,希尔排序(最小增量排序) (1)基本思想:算法先将要排序的一组数按某个增量d(n/2,n为要排序数的个数)分成若干组,每组中记录的下标相差d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组,在每组中再进行直接插入排序。当增量减到1时,进行直接插入排序后,排序完成。 (2)实例: (3)用java实现 public class shellSort { public shellSort(){ int a[]={1,54,6,3,78,34,12,45,56,100}; double d1=a.length; int temp=0; while(true){ d1= Math.ceil(d1/2); int d=(int) d1; for(int x=0;xd;x++){ for(int i=x+d;ia.length;i+=d){ int j=i-d; temp=a[i]; for(;j=0tempa[j];j-=d){ a[j+d]=a[j]; } a[j+d]=temp; } } if(d==1) break; } for(int i=0;ia.length;i++) System.out.println(a[i]); } } 3.简单选择排序 (1)基本思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换; 然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。 (2)实例: (3)用java实现 public class selectSort { public selectSort(){ int a[]={1,54,6,3,78,34,12,45}; int position=0; for(int i=0;ia.length;i++){ int j=i+1; position=i; int temp=a[i]; for(;ja.length;j++){ if(a[j]temp){ temp=a[j]; position

文档评论(0)

1亿VIP精品文档

相关文档