Chinaunix首页 | 论坛 | 博客
  • 博客访问: 145347
  • 博文数量: 20
  • 博客积分: 1748
  • 博客等级: 上尉
  • 技术积分: 211
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-22 15:24
个人简介

想成功,得发疯,头脑简单向前冲!

文章分类

全部博文(20)

文章存档

2012年(5)

2011年(8)

2010年(7)

分类: Java

2012-07-13 22:22:36


点击(此处)折叠或打开

  1. //1、冒泡排序法(大的数往后放)

  2. class Bubble
  3. {
  4.  //创建排序方法

  5.  public void sort(int arr[])
  6.  {
  7.   int temp=0;
  8.   //排序

  9.   //外层循环,决定一共比几次

  10.   for(int i=0;i<arr.length-1;i++)
  11.   {
  12.    //内层循环,开始逐个比较,

  13.    for (int j=0;j<arr.length-1-i;j++)
  14.    {
  15.     //如果发现前一个数比后一个数大,则交换

  16.     if(arr[j]>arr[j+1])
  17.     {
  18.      //换位

  19.      temp=arr[j];
  20.      arr[j]=arr[j+1];
  21.      arr[j+1]=temp;
  22.     }
  23.    }
  24.   }
  25.  }
  26. }


  27. //2、选择排序法(从小到大)

  28. class Select
  29. {
  30.  public void sort(int arr[])
  31.  {
  32.   int temp=0;
  33.   for(int i=0;i<arr.length-1;i++)
  34.   {
  35.    //认为arr[i]最小

  36.    int min=arr[i];
  37.    //记录最小的数的下标

  38.    int minIndex=i;
  39.    //用我认为的数和后面的数以次比较,找到最小值

  40.    for(int k=i+1;k<arr.length;k++)
  41.    {
  42.     //如果arr[i]不是最小的则修改值

  43.     if(min>arr[k])
  44.     {
  45.      //修改最小

  46.      min=arr[k];
  47.      minIndex=k;
  48.     }
  49.    }
  50.    //当退出for就找到了这次的最小值,并交换值

  51.    temp=arr[i];
  52.    arr[i]=arr[minIndex];
  53.    arr[minIndex]=temp;
  54.   }
  55.  }
  56. }

  57. //3、插入排序法

  58. class InsertSort
  59. {
  60.  public void sort (int arr[])
  61.  {
  62.   for(int i=1;i<arr.length;i++)
  63.   {
  64.    //insertVal是准备插入的数

  65.    int insertVal=arr[i];
  66.    //insertVal准备和前一个数比较

  67.    int index=i-1; //前一个数的下标

  68.    while(index>=0&&insertVal<arr[index])
  69.    {
  70.     //就把arr[index]向后移动一位

  71.     arr[index+1]=arr[index];
  72.     //让index向前移动

  73.     index--;
  74.    }
  75.    //将insertVal插入到适当位置

  76.    arr[index+1]=insertVal;
  77.   }
  78.  }
  79. }

阅读(2852) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~