| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 335 人关注过本帖
标题:[求助]怎么把这个程序变成 abstract 的啊!
只看楼主 加入收藏
tuguy83
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-10-22
收藏
 问题点数:0 回复次数:1 
[求助]怎么把这个程序变成 abstract 的啊!

各位进来关注的电脑高手,先谢谢了!

我的程序是为了用3种不同的方法来排序。首先创造一串数据(都是整数),然后用插入排序,快速排序、还有程序包里的ARRYS 三种不同的方法排同一个字串, 最后一个程序是执行程序(为了显示结果,并比较三种方法的执行时间)

一共就这5个类。 以下是我的程序:
类一:public class Creation{
int[] tab;

public Creation (int n){
tab=new int[n];
for(int i=0; i<tab.length; i++){
tab[i]=(int)(Math.random()*10);
}
tab[0]=Integer.MIN_VALUE;
}

public void affichetab(int c[]){
for(int i=0; i<c.length; i++){
System.out.print(c[i]+" ");}
}

public Creation(Creation c){
Creation e=new Creation(c.tab.length);
for (int i=0;i<c.tab.length;i++){
e.tab[i]=c.tab[i];
tab=e.tab;}
}

public Creation(int c[]){
Creation e=new Creation(c.length);
for (int i=0;i<c.length;i++){
e.tab[i]=c[i];
tab=e.tab;}
}
}

类二:public class Triinsertion extends Creation{


public Triinsertion(int n){
super(n);}


public void tri(){
int temp;
for(int i=0; i<tab.length; i++){
for(int j=i-1; j>=0;j--){
if(tab[j]>tab[j+1]){
temp=tab[j];
tab[j]=tab[j+1];
tab[j+1]=temp;}
}
}
}
}

类三:public class Trirapide extends Creation{
public Trirapide(int n){
super (n);
}


public Trirapide(int tab[]){
super(tab);}

public void echange(int i,int j){
int temp=tab[i];
tab[i]=tab[j];
tab[j]=temp;
}

public int partition(int l, int r){
int v=tab[r];
int i=l;
int j=r;
while(i<j){

while(tab[i]<v){i++;}
while(tab[j]>=v){j--;}
echange(i,j);
}

echange(i,j);
echange(i,r);
return i;
}



public void trirapide(int l,int r){
if(l<r){
int i;
i=partition(l,r);
trirapide(l,i-1);
trirapide(i+1,r);

}
}
}

类四:import java.util.Arrays;

public class Trisort extends Creation{

public Trisort(int tab[]){
super(tab);}

public Trisort(int n){
super(n);
}


public void tri(){
Arrays.sort(tab);
}

}

import java.util.*;

类五(执行):public class Principale{
public static void main(String arg[]){

Triinsertion t=new Triinsertion(10);
Trirapide r=new Trirapide(t.tab);
Trisort s=new Trisort(t.tab);

System.out.println("la suite original: ");
t.affichetab(t.tab);
System.out.println();



long t1=(new Date()).getTime();
t.tri();

long t2=(new Date()).getTime();
long x=t2-t1;
System.out.println("la suite triinsertion: ");
t.affichetab(t.tab);
System.out.println();
System.out.println("le temps d'execution pour trier le tableau avec Triinsertion:"+x);
System.out.println();




System.out.println("la suite original: ");
r.affichetab(r.tab);
System.out.println();



long t3=(new Date()).getTime();
r.trirapide(1,r.tab.length-1);

long t4=(new Date()).getTime();
long y=t4-t3;
System.out.println("la suite trirapide: ");
r.affichetab(r.tab);
System.out.println();
System.out.println("le temps d'execution pour trier le tableau avec Trirapide:"+y);
System.out.println();



System.out.println("la suite original: ");
s.affichetab(s.tab);
System.out.println();



long t5=(new Date()).getTime();
s.tri();

long t6=(new Date()).getTime();
long z=t6-t5;
System.out.println("la suite trisort: ");
s.affichetab(s.tab);
System.out.println();
System.out.println("le temps d'execution pour trier le tableau avec Trisort:"+z);
System.out.println();


}
}

以上是我的程序,现在我想把第一个类变成抽象的,就是:

public abstract class Creation{

//原程序不知怎么改!

public void abstract tri();//加上这一句,tri 就是排序。
}

后面的程序好像因为加入了abstract也都要改,我是插班的,编没抽象的那个已经要命了,一加abstract 我就找不到北了。
各位麻烦你们能不能改完了贴上来,我练术语都不懂,几乎是自己瞎学,你们要是只指点一两句,我连看都看不懂。

我的原程序是用JCreator 编的,运行的很好,没有错误。

请大家注意是排同一个数串。

[此贴子已经被作者于2007-10-22 15:47:14编辑过]

搜索更多相关主题的帖子: abstract 
2007-10-22 15:39
tuguy83
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-10-22
收藏
得分:0 
2007-10-22 21:51
快速回复:[求助]怎么把这个程序变成 abstract 的啊!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011996 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved