现在的位置: 首页 > 综合 > 正文

Java三种常见的排序算法:冒泡,选择,插入

2013年07月05日 ⁄ 综合 ⁄ 共 5214字 ⁄ 字号 评论关闭
Java代码 复制代码
  1. /**  
  2.  *   
  3.  * @author Administrator:阿福(trygf521@126.com)  
  4.  *  
  5.  */  
  6. public class BubbleSorting {   
  7.     public static void main(String args[]) {   
  8.            
  9.         //-------------------------冒泡排序   
  10.         // 最初的数组.   
  11.         int[] list = { 15423897612 };   
  12.   
  13.         // 显示最初的数组.   
  14.         System.out.println("测试:冒泡排序——最初数组:");   
  15.         for (int i = 0; i < list.length; i++) {   
  16.             System.out.print("  " + list[i]);   
  17.         }   
  18.         bubbleSort(list);   
  19.         System.out.println();   
  20.   
  21.         // 输出排序后的数组.   
  22.         System.out.println("冒泡排序后的数组是:");   
  23.         for (int i = 0; i < list.length; i++){   
  24.             System.out.print("  " + list[i]);   
  25.         }   
  26.         System.out.println();System.out.println();System.out.println();   
  27.            
  28.         //------------------------选择排序   
  29.            
  30.         // 显示最初的数组.   
  31.         int[] lists = { 15423897612 };   
  32.         System.out.println("测试:选择排序——最初数组:");   
  33.         for (int i = 0; i < list.length; i++) {   
  34.             System.out.print("  " + lists[i]);   
  35.         }   
  36.         Sectc(lists);   
  37.         System.out.println();   
  38.   
  39.         // 输出排序后的数组.   
  40.         System.out.println("选择排序后的数组是:");   
  41.         for (int i = 0; i < list.length; i++){   
  42.             System.out.print("  " + lists[i]);   
  43.         }   
  44.         System.out.println();System.out.println();System.out.println();   
  45.            
  46.         //------------------------插入排序   
  47.         // 显示最初的数组.   
  48.         Comparable[] b = {6,3,1,8,22,34,2,12,15,7,99,11};     
  49.         System.out.println("测试:插入排序——最初数组:");   
  50.         for (int i = 0; i < b.length; i++) {   
  51.             System.out.print("  " + b[i]);   
  52.         }   
  53.          insertSort(b);     
  54.         System.out.println();   
  55.   
  56.         // 输出排序后的数组.   
  57.         System.out.println("选择排序后的数组是:");   
  58.         for (int i = 0; i < b.length; i++){   
  59.             System.out.print("  " + b[i]);   
  60.         }   
  61.         System.out.println();System.out.println();System.out.println();   
  62.        
  63.             
  64.                    
  65.                     
  66.     }   
  67.   
  68.     /**  
  69.      * 选择排序  
  70.      *   
  71.      * @param list  
  72.      */  
  73.     static void Sectc(int[] list) {   
  74.         for (int i = 0; i < list.length; i++) {   
  75.             for (int j = 1 + i; j < list.length; j++)   
  76.                 if (list[i] < list[j]) {   
  77.                     int temp;   
  78.                     temp = list[j];   
  79.                     list[j] = list[i];   
  80.                     list[i] = temp;   
  81.   
  82.                 }   
  83.   
  84.         }   
  85.   
  86.     }   
  87.     /**  
  88.      * 冒泡排序  
  89.      * @param list  
  90.      */  
  91.     static void bubbleSort(int[] list) {   
  92.         for (int i = 0; i < list.length; i++) {   
  93.             boolean flag = true;   
  94.             int temp = 0;   
  95.   
  96.             for (int j = 1; j < list.length - i; j++)   
  97.                 if (list[j - 1] < list[j]) {   
  98.                     temp = list[j - 1];   
  99.                     list[j - 1] = list[j];   
  100.                     list[j] = temp;   
  101.                     flag = false;   
  102.                 }   
  103.   
  104.             if (flag)   
  105.                 break;   
  106.         }   
  107.   
  108.     }   
  109.   
  110.     /**  
  111.      * 插入排序  
  112.      * @param data  
  113.      */  
  114.     public static void insertSort(Comparable[] data) {   
  115.         int j;   
  116.         for (int p = 1; p < data.length; p++) {   
  117.             Comparable key = data[p];   
  118.             for (j = p; j > 0 && (key.compareTo(data[j - 1]) < 0); j--)   
  119.                 data[j] = data[j - 1];   
  120.             data[j] = key;   
  121.         }   
  122.     }   
  123. }  

 

 

运行效果:

  • 大小: 34.7 KB

抱歉!评论已关闭.