您的位置:首页 > 其它

算法概论第三周作业

2014-03-27 11:08 274 查看
package sort;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.*;

public class sort {

/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
String s="";
List <Integer> list=new ArrayList<Integer>();
try {
FileInputStream in = new FileInputStream("C:\\Users\\SharpVoyage\\Desktop\\largeW.txt");
InputStreamReader bin = new InputStreamReader(in);
BufferedReader bfreader = new BufferedReader(bin);
while((s=bfreader.readLine())!=null)
{
//System.out.println(s.trim());
list.add(Integer.parseInt(s.trim()));
//
}
Integer[] lineDataArray=(Integer[])list.toArray(new Integer[list.size()]);
bfreader.close();
long timeStart=System.currentTimeMillis();  //开始冒泡排序计时
bubbleSort(lineDataArray);
long timeEnd=System.currentTimeMillis();    //冒泡排序计时结束
System.out.println("冒泡排序法花费的时间:"+(timeEnd-timeStart)/1000+"s");
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}

}

public static void bubbleSort(Integer[] arr){     //冒泡排序法
int temp = 0;
String str=null;
StringBuilder sb=new StringBuilder();
//System.out.print("冒泡排序法得到的结果:");
for(int i = 0;i<arr.length;i++){
for(int j = i;j<arr.length;j++){

if(arr[i]>arr[j]){
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}

}
System.out.print(arr[i]+" ");
sb.append(arr[i]+" ");
str=sb.toString();
}
try {
FileOutputStream out = new FileOutputStream("C:\\Users\\SharpVoyage\\Desktop\\largeW_bubble.txt",true);
OutputStreamWriter bout = new OutputStreamWriter(out);
BufferedWriter bfwriter = new BufferedWriter(bout);
bfwriter.write(str);
bfwriter.flush();
out.close();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}

}

}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: