`
gg19861207
  • 浏览: 179977 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

几种排序算法的源玛

阅读更多
ArraySort.java源文件://该文件为基类文件,其他的排序算法类都继承自该类
package com.oristand;
import java.util.Random;
public class ArraySort {
int[] a;
int length;

public ArraySort(int maxsize){
a = new int[maxsize];
length = 0;
}

public void insert(int value){
a[length] = value;
length++;
}

public void swap(int first,int second){
int temp = a[first];
a[first] = a[second];
a[second] = temp;

}

public void display(){
for(int i=0;i<length;i++){
System.out.print(a[i]+" ");
}
}
public static void main(String[] args) {
int maxsize = 5;

ArraySort as = new ArraySort(maxsize);


as.insert(1);
as.insert(2);
as.insert(3);

as.display();
}
}
冒泡排序文件:
package com.oristand;
public class BubbleSort extends ArraySort{
public BubbleSort(int maxsize){
super(maxsize);
}

public void sort(){
for(int end=length-1;end>0;end--)
for(int start=0;start<end;start++)
if(a[start+1]<a[start])
swap(start,start+1);
}
public static void main(String[] args) {
int maxsize = 5;
BubbleSort bs = new BubbleSort(maxsize);
bs.insert(54);
bs.insert(38);
bs.insert(72);
bs.insert(10);
bs.insert(8);
bs.sort();
bs.display();
}
}
选择排序文件:
package com.oristand;
public class SelectSort extends ArraySort {
public SelectSort(int maxsize){
super(maxsize);
}

public void sort(){
int in,min,start;
for(in=0;in<length-2;in++){
for(min=in,start=min+1;start<=length-1;start++)
if(a[min]>a[start]) min=start;
swap(in,min);
}
}
public static void main(String[] args) {
int maxsize =10;
BubbleSort bs = new BubbleSort(maxsize);
bs.initByRandrom();
bs.display();

bs.sort();
bs.display();
}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics