《多线程的练习—排序问题——Java第十四周》
来源:互联网 发布:c 调用数组长度 编辑:程序博客网 时间:2024/05/29 16:37
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 《多线程的练习—排序问题——Java第十四周》
* 作 者: 刘江波
* 完成日期: 2012 年 12 月 1 日
* 版 本 号: v2.1
* 对任务及求解方法的描述部分
* 问题描述:
1.请编写多线程程序。先封装一类对象RandomNumber,功能是先产生一个大于10的随机整数n,再产生n个随机数并存放于数组中。然后封装两个线程Thread1(要求是Thread的子类)和Thread2(要求实现Runnable接口)并发地对所生成的随机数进行排序,其中Thread1要求采用冒泡排序法进行排序,并输出排序结果。Thread2要求采用快速排序法进行排序,并输出排序结果。最后编写主线程TestThread,加入上述两个线程实现程序的并发,比较这两个线程排序的结果。(必做题)
* 程序头部的注释结束
*/
RandomNumber:
package week14;public class RandomNumber {/* * 先封装一类对象RandomNumber,功能是先产生一个大于10的随机整数n,再产生n个随机数并存放于数组中。 */private int i ;public int num[];RandomNumber(){i = (int)(Math.random()*100)+11;num = new int[i];for(int j=0; j<i; j++){num[j] = (int)(Math.random()*100);}}}
TestThread:
package week14;public class TestThread {/* *请编写多线程程序。先封装一类对象RandomNumber,功能是先产生一个大于10的随机整数n, *再产生n个随机数并存放于数组中。然后封装两个线程Thread1(要求是Thread的子类) *和Thread2(要求实现Runnable接口)并发地对所生成的随机数进行排序,其中Thread1要求采用冒泡排序法进行排序, *并输出排序结果。Thread2要求采用快速排序法进行排序,并输出排序结果。最后编写主线程TestThread, *加入上述两个线程实现程序的并发,比较这两个线程排序的结果。(必做题) */public static void main(String[] args) {// TODO Auto-generated method stubRandomNumber r = new RandomNumber();Thread1 t1 = new Thread1(r);Thread2 t2 = new Thread2(r);//Thread thread1 = new Thread();//Thread thread2 = new Thread(t2);////thread1.start();//thread2.start();t1.run();t2.run();}}
Thread1:
package week14;public class Thread1 extends Thread {private int Thread1[];Thread1(RandomNumber rn){Thread1 = new int[rn.num.length]; Thread1 = rn.num;}public void run(){for(int i=0; i<Thread1.length; i++){for(int j=0; j<Thread1.length-i-1; j++){if(Thread1[j] > Thread1[j+1]){int mid = Thread1[j];Thread1[j] = Thread1[j+1];Thread1[j+1] = mid;}}}for(int i=0; i<Thread1.length; i++){System.out.println(Thread1[i]);}System.out.println("Thread1打印完成。");}}
Thread2:
package week14;import java.util.Arrays;public class Thread2 implements Runnable {private int Thread2[];Thread2(RandomNumber rn){Thread2 = new int[rn.num.length]; Thread2 = rn.num;}public void run() {// TODO Auto-generated method stubArrays.sort(Thread2, 0, Thread2.length);for(int i=0; i<Thread2.length; i++){System.out.println(Thread2[i]);}System.out.println("Thread2打印完成。");}}
- 《多线程的练习—排序问题——Java第十四周》
- 《多线程练习—买票小程序——Java第十四周》
- 第十四周自由练习项目——阿拉伯数字的交换
- 第十四周项目四—数组的排序
- 第十四周——选择排序
- java上机 第十四周 任务一 线程的练习
- 第十四周——数组冒泡定义排序
- 第十四周上机实践项目——字符数组排序
- 第十四周上机实践项目——选择排序
- 第十四周项目 oj平台二——国家排序
- 第十四周项目1——排序函数模板
- 第十四周上机实践—项目2—二叉树排序树中查找的路径
- 第十四周——【项目2 - 二叉树排序树中查找的路径】
- 第十四周项目2——二叉树排序树中查找的路径
- 第十四周项目2——二叉树排序树中查找的路径
- 第十四周项目2——二叉树排序树中查找的路径
- 第十四周项目2——二叉树排序树中查找的路径
- 第十四周项目二——二叉树排序树中查找的路径
- ubuntu server 安装手记
- 墨卡托投影
- S3C6410 PCB设计工艺建议---夜猫PCB工作室
- matlab入门学习(一)
- CF 109D 模拟
- 《多线程的练习—排序问题——Java第十四周》
- S3C6410 电路板设计(一)
- Jboss EJB3.0实例教程
- 深入了解计算机系统 家庭作业 2.73
- C#中Dictionary、ArrayList、Hashtable和Array的区别
- S3C6410 电路板设计(二)
- linux nfs在嵌入式开发中的使用
- 提高C语言程序运行稳定性的方法
- 道一声珍重