| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 436 人关注过本帖
标题:程序问题5
只看楼主 加入收藏
yynn
Rank: 1
等 级:新手上路
帖 子:279
专家分:0
注 册:2005-11-4
收藏
 问题点数:0 回复次数:3 
程序问题5

import java.util.*;

class MaximumElement extends Thread{

int dt[];

int a,b;

public MaximumElement(int f[],int a, int b){

dt = f;

this.a = a;

this.b = b;

}

public void run(){

for(int i = a; i < b ; i++){

int j = i; int k = i+1;

while(k<b){

if (dt[j] < dt[k])

j= k ;

else

;

k++;

}

int temp = dt[i]; dt[i] = dt[j]; dt[j] = temp;

}

}

public int getMax(){

return dt[a];

}

}

class Q2{

public static void main(String args[]){

int f[] = new int[1000];

Random r = new Random();

for(int j = 0; j < f.length;j++)

f[j]=r.nextInt(1000);

MaximumElement t1 = new MaximumElement(f,0,500);

MaximumElement t2 = new MaximumElement(f,500,1000);

t1.start();

t2.start();

try{

t1.join();

t2.join();

}catch(InterruptedException e){

}

for(int i = 0 ; i < f.length; i++){

if(i==50)

System.out.println();

System.out.println(f[i]+"");

}

System.out.println("Max number in t1 is"+t1.getMax());

System.out.println("Max number in t2 is"+t2.getMax());

if(t1.getMax() >= t2.getMax())

System.out.println(t1.getMax());

}

}

搜索更多相关主题的帖子: class public import 
2007-10-25 01:30
yynn
Rank: 1
等 级:新手上路
帖 子:279
专家分:0
注 册:2005-11-4
收藏
得分:0 

A program is required to find the Maximum element in a large array. This program will be excuted on a dual-core machine and should be written in such a way as to use both cores to optimize the solution. Your task is to write the program.
这个是题目!


2007-10-25 02:36
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 

for(int i = a; i < b ; i++){
int j = i; int k = i+1;
while(k<b){
if (dt[j] < dt[k])
j= k ; //这样做岂不乱套,连循环变量都改变了.
else
; //如果是;那还不如不写else
k++;
}

你应该是想把最大的数一直保存在dt[a] 中.(貌似却又是排序)
可以这样.
int k=i+1;
while(k<b)
{
if(dt[k]>dt[a])
{
int temp=dt[k],dt[k]=dt[a],dt[a]=temp;
}
k++;
}


倚天照海花无数,流水高山心自知。
2007-10-25 08:31
yynn
Rank: 1
等 级:新手上路
帖 子:279
专家分:0
注 册:2005-11-4
收藏
得分:0 
我是想先排序,然后输出,检验下最大值是不是原来的最大值,但是我打印出来两个最大值有出入,可能我的逻辑错了,谢谢指点了!

2007-10-25 19:54
快速回复:程序问题5
数据加载中...
 
   



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

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