简单排序
java中分别使用冒泡排序、选择排序、插入排序对数组进行排序
1 package com.peter.array; 2 3 /** 4 * 数组--排序 5 * 冒泡排序、选择排序、插入排序 6 * @author dddeng 7 * 8 */ 9 public class BubbleSort { 10 11 private long[] a; 12 private int nElems; 13 14 public BubbleSort(int max){ 15 a = new long[max]; 16 nElems=0; 17 } 18 19 public void insert(long value) { 20 a[nElems] = value; 21 nElems++; 22 } 23 24 public void display(){ 25 for (int i = 0; i < nElems; i++) { 26 System.out.print(a[i]+" "); 27 } 28 System.out.println(""); 29 } 30 31 /* 32 * 冒泡排序方法 33 */ 34 public void bubbleSort(){ 35 int out,in; 36 for ( out = nElems-1; out >0; out--) { 37 for(in =0;in< out;in++){ 38 if(a[in]> a[in+1]) 39 { 40 swap(in, in+1); 41 } 42 } 43 } 44 } 45 46 /* 47 * 选择排序 48 */ 49 public void selectionSort(){ 50 int out,in,min; 51 for(out =0;out<nElems;out++){ 52 min = out; 53 for(in = out+1;in<nElems;in++){ 54 if(a[in]< a[min]) 55 min = in; 56 } 57 swap(out, min); 58 } 59 } 60 /* 61 * 插入排序 62 */ 63 public void insertionSort(){ 64 65 int in ,out; 66 for(out =1;out<nElems;out++){ 67 68 long temp = a[out]; 69 in = out; 70 while(in>0 && a[in-1]>temp){ 71 a[in]= a[in-1]; 72 --in; 73 } 74 a[in]= temp; 75 } 76 } 77 78 private void swap(int one,int two){ 79 long temp = a[one]; 80 a[one] =a[two]; 81 a[two]=temp; 82 } 83 84 }
测试使用:
public static void main(String[] args){ int maxSize = 10; BubbleSort arr = new BubbleSort(maxSize); arr.insert(11); arr.insert(77); arr.insert(99); arr.insert(22); arr.insert(88); arr.insert(33); arr.insert(10); arr.insert(66); arr.insert(44); arr.insert(55); arr.display(); arr.bubbleSort();//冒泡排序 //arr.selectionSort();//选择排序 //arr.selectionSort();//插入排序 arr.display(); }