Sortierung mit Bubblesort und Feldern



  • Hallo,
    ich habe hier ein kleines aber feines Problem! Und zwar würde ich gerne
    die eigegebenen Matrikelnr. sortieren mit Quicksort...nur es klappt einfach nicht! Liegt es vielleicht an den Schleifendurchläufen?

    public static void main(String[] args) {
    
    		boolean trans =true;
    
    		int count=0;
    		Teilnehmer[] eingabe = new Teilnehmer[20];
    
    		for(int i=0;i<eingabe.length;i++)
    		{
    
    			while(trans){
    			eingabe[i] = new Teilnehmer();
    			eingabe[i].Vorname = IOTools.readLine("Vorname:");
    
    			if(eingabe[i].Vorname.equals("xxx"))
    				{
    				trans=false;
    				break;
    				}
    					eingabe[i].Nachname = IOTools.readLine("Nachname:");
    					eingabe[i].Matrikelnr = IOTools.readInteger("MNR");
    					eingabe[i].Note = IOTools.readLine("NOTE");
    					eingabe[i].Seminartitel = IOTools.readLine("SEM");
    					count++;
    
    				}
    		}
    
    		int temp;
    		boolean getauscht;
    
    		do{
    			getauscht = false;
    
    			for(int i=0;i<count-1;i++)
    			{
    
    				if(eingabe[i].Matrikelnr > eingabe[i+1].Matrikelnr)
    				{
    					temp = eingabe[i].Matrikelnr;
    					System.out.println(eingabe[i].Matrikelnr);
    					System.out.println(eingabe[i+1].Matrikelnr);
    					eingabe[i].Matrikelnr=eingabe[i+1].Matrikelnr;
    					eingabe[i+1].Matrikelnr=temp;
    					getauscht=true;
    
    				}
    			}
    
    		}while(getauscht);
    
    		for(int i=0;i<count;i++)
    		{
    			System.out.print(eingabe[i].Matrikelnr+" ");
    
    		}
    
    	}
    	}
    

    Ist erstmal das Gerüst.Bis jemand "xxx" eintippt soll er einlesen, danach sortieren.

    Vielleicht hat ja jemand einen Tipp für mich!
    Danke



  • Hat sich erledigt!Beginn der while-schleife aus der for-schleife...und nun gehts..


Anmelden zum Antworten