抽象类和抽象方法java程序_Java抽象类及抽象方法的概念

通常的排序算法有选择法,冒泡法。试编一个程序将这两种算法的共性定义于一个父类中,然后定义两个子类分别实现选择法和冒泡法排序的功能,并编写测试程序验证类的功能基本出来了,就...

通常的排序算法有选择法,冒泡法。试编一个程序将这两种算法的共性定义于一个父类中,然后定义两个子类分别实现选择法和冒泡法排序的功能,并编写测试程序验证类的功能

基本出来了,就是省略的地方请补充一下。谢谢。

package exercise;

public class BubbleAndSelectSort {

static double []tesData = {12,10,54,8,6,71,56};

public static void main(String[] args) {

System.out.println("数组原顺序如下:");

for(int i=0;i

System.out.print(tesData[i]+" ");

System.out.println();

SortDouble bsort = new SelectSort();

bsort.sort(tesData);

System.out.println("选择排序结果如下:");

for(int i=0;i

System.out.print(tesData[i]+" ");

System.out.println();

bsort = new BubSort();

bsort.sort(tesData);

System.out.println("冒泡排序结果如下:");

for(int i=0;i

System.out.print(tesData[i]+" ");

System.out.println();

}

}

abstract class SortDouble{

private double[] values;

public final void sort(double [] data){

values = data;

DoSort();

}

protected abstract void DoSort(); // 父类中的抽象方法,子类必须重写或覆盖

protected final int getDataLength(){

return values.length;

}

protected final int compare(int i,int j){//比较i及j的两个数组元素的大小

。。。。。

}

protected final void swap(int i,int j){//交换下标为i及j的两个数组元素的位置

。。。。。。

}

}

class SelectSort extends SortDouble{

protected void DoSort(){ //重写父类中的抽象方法

for(int i=0;i

for(int j=i+1;j

if(compare(i, j)<0)

swap(i, j);

}

}

}

}

class BubSort extends SortDouble{

protected void DoSort(){//重写父类中的抽象方法

for(int i=0;i

for(int j=1;j

if (compare(i, j)<0) {

swap(i, j);

}

}

}

}

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值