几种排序算法的源玛

xiaoxiao2022-06-12  27

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(); } } 相关资源:c语言实现的各种排序算法效率分析与比较及源代码
转载请注明原文地址: https://www.6miu.com/read-4933245.html

最新回复(0)