Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ceri.tests.cours3;
- public class AnalyseMe {
- private int[] numbers;
- /**
- * @param args
- */
- public static void main(final String[] args) {
- try{
- long timeTrace = System.currentTimeMillis();
- System.out.println("Time (ms) : " + (System.currentTimeMillis() - timeTrace));
- final AnalyseMe objToTest = new AnalyseMe();
- objToTest.addNumber(35);
- objToTest.addNumber(18);
- objToTest.addNumber(1);
- objToTest.addNumber(43);
- objToTest.addNumber(29);
- objToTest.addNumber(-4);
- for (int numberIndex = 0 ; numberIndex < 100000 ; numberIndex++) {
- objToTest.addNumber(((int)(Math.random() * 10000)) - 5000);
- }
- System.out.println("Time (ms) : " + (System.currentTimeMillis() - timeTrace));
- //GESTION DES LOGS
- System.out.println("Etat de la pile : " + objToTest.displayNumbers());
- System.out.println("Time (ms) : " + (System.currentTimeMillis() - timeTrace));
- objToTest.sortNumbers();
- System.out.println("Time (ms) : " + (System.currentTimeMillis() - timeTrace));
- System.out.println("Etat de la pile : " + objToTest.displayNumbers());
- }
- catch (Exception e) {
- System.out.println(e.getMessage());
- }
- }
- public AnalyseMe()
- {
- numbers = new int[0];
- }
- public int addNumber(final int number)
- {
- final int[] oldNumbers = numbers;
- numbers = new int[oldNumbers.length + 1];
- System.arraycopy(oldNumbers, 0, numbers, 0, oldNumbers.length );
- numbers[oldNumbers.length] = number;
- return numbers.length;
- }
- public void sortNumbers()
- {
- try{
- boolean hasMoved = true;
- int moveCount = 0;
- while (hasMoved)
- {
- int temp ;
- hasMoved = false;
- for (int i = 0 ; i < numbers.length - 1 ; i++)
- {
- if (numbers[i + 1] < numbers[i]) {
- temp = numbers[i];
- numbers[i] = numbers[i+1];
- numbers[i+1] = temp;
- moveCount++;
- hasMoved = true;
- }
- }
- }
- System.out.println("tri effectué en "+moveCount+" mouvements.");
- }
- catch (Exception e) {
- System.out.println(e.getMessage());
- }
- }
- public String displayNumbers()
- {
- final StringBuffer output = new StringBuffer();
- output.append('[');
- for (int i = 0 ; i < numbers.length ; i++)
- {
- output.append(((i == 0) ? "" : ", ") + numbers[i]);
- if (i > 5000)
- {
- break;
- }
- }
- output.append(']');
- return output.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement