欢迎来到天天文库
浏览记录
ID:11908684
大小:17.70 KB
页数:9页
时间:2018-07-14
《java实现算法导论书中的快速排序归并排序插入排序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、packagealgorithm.echo;importjava.io.FileReader;importjava.io.*;importjava.util.Random;importjava.util.Scanner;publicclassFirstTest{//staticintnum;staticStringpath="F://b.txt";staticStringpath1="F://归并排序.txt";staticStringpath2="F://快速排序.txt";staticStringpath3="F://插入
2、排序.txt";staticStringpath4="F://归并排序1.txt";staticintAr[]=newint[30005];staticintA[]=newint[30005];staticintB[]=newint[30005];staticintC[]=newint[30005];publicstaticvoidqkWenben(Stringm)throwsException{FileOutputStreamtestfile=newFileOutputStream(m);testfile.write(new
3、String("").getBytes());}/**清空static数组**/publicint[]qingkong(intq[]){intb[]=newint[q.length];for(inti=0;i4、e);BufferedWriterbw=newBufferedWriter(fw);bw.write(String.valueOf(a[i]));//写入文件是以字符串的形式输入的;bw.newLine();bw.close();fw.close();}catch(IOExceptione){e.printStackTrace();}}}/**RandomFuction函数*实现随机产生任意num个1~m范围的数字,*并以String的格式存入文件当中*/publicstaticvoidRandomFuction(intm,i5、ntnum){intnumber;Randomrandom=newRandom();for(inti=0;i6、xceptione){e.printStackTrace();}}}/**将随机数从文件中读出来并存入数组当中;**/publicint[]Reader(){intcount=1;Filea=newFile(path);try{BufferedReaderbr=newBufferedReader(newFileReader(a));while(br.ready()){Stringline=br.readLine();intnum1=Integer.parseInt(line);Ar[count]=num1;count++;}}7、catch(IOExceptione){e.printStackTrace();}returnAr;}/***插入排序算法***/publicvoidInsertSort(intAr1[],intn){intkey;inti,j;for(j=2;j<=n;j++){i=j-1;key=Ar1[j];while(i>0&&Ar1[i]>key){Ar1[i+1]=Ar1[i];i=i-1;}Ar1[i+1]=key;}}/**快速排序***/publicintpartition(intAr[],intp,intr){intkey8、;intx=Ar[r],j;inti=p-1;for(j=p;j<=r-1;j++){if(Ar[j]<=x){i=i+1;key=Ar[i];Ar[i]=Ar[j];Ar[j]=key;}}key=Ar[i+1];Ar[i+1]=Ar[r];Ar[r]=key;return
4、e);BufferedWriterbw=newBufferedWriter(fw);bw.write(String.valueOf(a[i]));//写入文件是以字符串的形式输入的;bw.newLine();bw.close();fw.close();}catch(IOExceptione){e.printStackTrace();}}}/**RandomFuction函数*实现随机产生任意num个1~m范围的数字,*并以String的格式存入文件当中*/publicstaticvoidRandomFuction(intm,i
5、ntnum){intnumber;Randomrandom=newRandom();for(inti=0;i6、xceptione){e.printStackTrace();}}}/**将随机数从文件中读出来并存入数组当中;**/publicint[]Reader(){intcount=1;Filea=newFile(path);try{BufferedReaderbr=newBufferedReader(newFileReader(a));while(br.ready()){Stringline=br.readLine();intnum1=Integer.parseInt(line);Ar[count]=num1;count++;}}7、catch(IOExceptione){e.printStackTrace();}returnAr;}/***插入排序算法***/publicvoidInsertSort(intAr1[],intn){intkey;inti,j;for(j=2;j<=n;j++){i=j-1;key=Ar1[j];while(i>0&&Ar1[i]>key){Ar1[i+1]=Ar1[i];i=i-1;}Ar1[i+1]=key;}}/**快速排序***/publicintpartition(intAr[],intp,intr){intkey8、;intx=Ar[r],j;inti=p-1;for(j=p;j<=r-1;j++){if(Ar[j]<=x){i=i+1;key=Ar[i];Ar[i]=Ar[j];Ar[j]=key;}}key=Ar[i+1];Ar[i+1]=Ar[r];Ar[r]=key;return
6、xceptione){e.printStackTrace();}}}/**将随机数从文件中读出来并存入数组当中;**/publicint[]Reader(){intcount=1;Filea=newFile(path);try{BufferedReaderbr=newBufferedReader(newFileReader(a));while(br.ready()){Stringline=br.readLine();intnum1=Integer.parseInt(line);Ar[count]=num1;count++;}}
7、catch(IOExceptione){e.printStackTrace();}returnAr;}/***插入排序算法***/publicvoidInsertSort(intAr1[],intn){intkey;inti,j;for(j=2;j<=n;j++){i=j-1;key=Ar1[j];while(i>0&&Ar1[i]>key){Ar1[i+1]=Ar1[i];i=i-1;}Ar1[i+1]=key;}}/**快速排序***/publicintpartition(intAr[],intp,intr){intkey
8、;intx=Ar[r],j;inti=p-1;for(j=p;j<=r-1;j++){if(Ar[j]<=x){i=i+1;key=Ar[i];Ar[i]=Ar[j];Ar[j]=key;}}key=Ar[i+1];Ar[i+1]=Ar[r];Ar[r]=key;return
此文档下载收益归作者所有