首页 > 其他 > 详细

github作业

时间:2016-04-03 17:28:02      阅读:99      评论:0      收藏:0      [点我收藏+]

冒泡排序法:
主要思想:它是交换式排序算法的一种.将小的值"浮"到上面,将大的值"沈"到底部的一种排序方
法.n个元素的排序将进行n-1轮循环,在每一轮排序中相邻的元素进行比较,如果左边的小于或等于右边的,将保持原位置不变,如果左边的大于右边的,将这两个右边的元素的位置交换.
稳定性:较为稳定
时间复杂度:O(n2)

 import java.util.Arrays;
class sorts
{
 public static void main(String[] args)
 {
  int[] arr= new int[]{9,8,7,6,5,4,3,2,1,0};
  //sorts.InsertSort(arr);
  sorts.quickSort(arr);
 }
 //直接插入排序法
 public static int[] InsertSort(int[] arr)
 {
  int i,j;
  int insertNote;//要插入的数据
  int[] array=arr;
    
   //从数组的第二个元素开始循环将数组中的元素插入
  for (i=1;i<array.length;i++)
  {
   //设置数组中的第2个元素为第一次循环要播讲的数据
   insertNote = array[i];
   j=i-1;
   while(j>=0&&insertNote<array[j])   
   {
    //如果要播讲的元素小于第j个元素,就将第j个元素向后移动
    array[j+1]=array[j];
    j--;
   }
   //直到要插入的元素不小于第j个元素,将insertNote插入到数组中
   array[j+1]=insertNote; 
  }
  //打印排序后的数组
  System.out.println(Arrays.toString(array));
  return array;
  
 }
 //冒泡排序法
 public static  int[] quickSort(int[] arr)
 {
  int i,j,temp;
  int[] array=arr;
  //n个元素的数组进行n-1轮排序
  for(i=0;i<array.length-1;i++)
  {
   //因为每一轮循环将确定一个数组元素的位置,
   //所以每一轮的比较次数将会递减
   for(j=0;j<array.length-i-1;j++)
   {
    if(array[j]>array[j+1])
    {
     //如果第j个元素比它后面的相邻的元素大的话就交换
     temp=array[j];     
     array[j]=array[j+1];
     array[j+1]=temp;
    }
   }
  }
  //打印出排序后的数组
  System.out.println(Arrays.toString(array));
  return array;
 }
}

 

github作业

原文:http://www.cnblogs.com/9-Poppy/p/5350039.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!