A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Mr.Wu 中级黑马   /  2016-5-14 10:20  /  756 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

前言:
由于自己有c的基础,现在也在学习java,所以今天用java实现冒泡排序。
一、基本思路:
冒泡排序是一种简单的交换类排序。其基本思路是,从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移。每经过一趟排序后,关键字值最大的元素将移到末尾,此时记下该元素的位置,下一趟排序只需要比较到此位置为止,直到所有元素都已有序排列。
一般地,对n个元素进行冒泡排序,总共需要进行n-1趟。第1趟需要比较n-1次,第2趟需要比较n-2次,......第i趟需要比较n-i次。
二、算法实现
c语言版:

  1. # include <stdio.h>

  2. void sort(int * a, int len)
  3. {
  4.         int i, j, t;

  5.         for (i=0; i<len-1; ++i)
  6.         {
  7.                 for (j=0; j<len-1-i; ++j)
  8.                 {
  9.                         if (a[j] > a[j+1])  // >表示升序 <表示降序
  10.                         {
  11.                                 t = a[j];
  12.                                 a[j] = a[j+1];
  13.                                 a[j+1] = t;
  14.                         }
  15.                 }
  16.         }
  17. }

  18. int main(void)
  19. {
  20.         int a[6] = {10, 2, 8, -8, 11, 0};
  21.         int i = 0;

  22.         sort(a, 6);

  23.         for (i=0; i<6; ++i)
  24.         {
  25.                 printf("%d ", a[i]);
  26.         }
  27.         printf("\n");

  28.         return 0;
  29. }
复制代码





java版:

  1. public class sort{

  2.   public static void main(String args[]){

  3.     int[] values={10, 2, 8, -8, 11, 0};

  4.     sort(values);

  5.     for(int i=0;i<values.length;i++){//排序后打印数组中的元素

  6.       System.out.println("Index: "+i+"  value: "+values[i]);

  7.     }

  8.   }

  9.   public static void sort(int[] values){

  10.     int temp;

  11.     for(int i=0;i<values.length;i++){

  12.       for(int j=0;j<values.length-i-1;j++){

  13.         if(values[j]>values[j+1]){   // >表示升序 <表示降序

  14.           temp=values[j];

  15.           values[j]=values[j+1];

  16.           values[j+1]=temp;

  17.         }

  18.       }

  19.     }

  20.   }

  21. }
复制代码
总结:
可以说两种语言的实现几乎是一模一样的,所以学会一门语言后迁移到另外一门语言其实并不困难。


2 个回复

倒序浏览
哦豁。。。
回复 使用道具 举报
可以哦...纠结中............
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马