Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.FileWriter;
  3. import java.io.IOException;
  4. import java.util.Collections;
  5. import java.util.LinkedList;
  6. import java.util.Scanner;
  7.  
  8. public class Lab {
  9. String file1;
  10. String file2;
  11. LinkedList<Integer> myList;
  12.  
  13. public Lab(String file1,String file2) {
  14. this.file1 = file1;
  15. this.file2 = file2;
  16. myList = scanFile(file1);
  17. }
  18.  
  19.  
  20. private LinkedList<Integer> scanFile(String file) {
  21. Scanner s = new Scanner(file);
  22. LinkedList<Integer> list = new LinkedList<Integer>();
  23.  
  24. while (s.hasNext()) {
  25. list.add(Integer.parseInt(s.next()));
  26. }
  27. s.close();
  28. return list;
  29.  
  30.  
  31. }
  32.  
  33. private File storeResult(String name,String result) {
  34. File log = new File(name);
  35. FileWriter fw;
  36.  
  37. try {
  38. if (!log.exists()) {
  39. System.out.println("making a new file");
  40. log.createNewFile();
  41. fw = new FileWriter(log);
  42. fw.write("Mäter excekveringstid av en sorteringsalgoritm");
  43. fw.write(result);
  44. }
  45. else {
  46. fw = new FileWriter(log);
  47. fw.write(result);
  48. }
  49.  
  50. }catch(IOException e){
  51. e.printStackTrace();
  52. }
  53.  
  54.  
  55.  
  56.  
  57. return log;
  58. }
  59.  
  60.  
  61. private String measureSortTime(LinkedList<Integer> list, int i) {
  62. long t1 = System.nanoTime();
  63.  
  64. @SuppressWarnings("unchecked")
  65. LinkedList<Integer> copy = (LinkedList<Integer>) list.clone();
  66. Collections.sort(copy);
  67.  
  68.  
  69. long elapsedTime = System.nanoTime() - t1;
  70.  
  71. String result = Long.toString(i + elapsedTime);
  72. return result;
  73.  
  74. }
  75.  
  76. private void doTheSorting(int n) {
  77. for(int i = 0; i < n; i++) {
  78. String result = measureSortTime(myList,i);
  79. storeResult(file2,result);
  80. }
  81. }
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88. public static void main(String[] args) {
  89. Lab mySort = new Lab(args[0],args[1]);
  90.  
  91. int numberOfTimes = Integer.parseInt(args[2]);
  92.  
  93. mySort.doTheSorting(numberOfTimes);
  94.  
  95. }
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement