Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 06:16

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Java: ZahlenArray sortieren?!

Discussion on Java: ZahlenArray sortieren?! within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Belur's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 3,441
Received Thanks: 1,473
Java: ZahlenArray sortieren?!

Hey E*pvpers.


Hab das Problem, dass ich mir ein Array ausgeben lasse mit dem ich dann später verschiedenen Sachen machen wollte ...


Wollte die Zahlen, die ausgegeben werden in dem Array jetzt sortieren. also von klein -> groß.

Bin mir nicht genau sicher wie man das macht, bzw irgendwann würd ich es warscheinlich hinkriegen, dann aber ziemlich umständlich und mit tausenden Schleifen.

Hatte mir erst überlegt eine Variable zu nehmen, wo ich den Eintrag des ersten Arrays reinschreibe. Dann vergleich mit dem 2. Wenn die Zahl kleiner ist, übernahme in die Variable wenn nicht, nächsten Arrayeintrag checken etc.

Dann hätte ich am Ende aber erst die erste Zahl(Also die kleinste - und somit den Arrayanfang). Und bei nem Array mit 500 Zahlen oder so wär, dass dann ziemlich unübersichtlich ...




Und eine zweite Frage:

Gibt es eine einfache Möglichkeit 2 Array-Einträge zu tauschen?


Hoffe mir kann da einer helfen.

~Grüße
Belur is offline  
Old 10/11/2011, 16:52   #2
 
NotEnoughForYou's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
PHP Code:
int[] array = new int[]{ 46275893};
//unsortiert
System.out.printlnjava.util.Arrays.toString( array ));
        
//  sortiert
java.util.Arrays.sort( array );
        
System.out.printlnjava.util.Arrays.toString( array )); 
NotEnoughForYou is offline  
Thanks
1 User
Old 10/11/2011, 16:58   #3
 
Belur's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 3,441
Received Thanks: 1,473
Wenn ich das richtig versteh ist das praktisch eine Sortierrfunktion die Java "von Haus aus" besitzt.

Hab grad noch paar Sachen gefunden zum Thema sortieren:

Also Bubblesort, Heapsort etc.
Was machen die für einen Sinn wenns mit diesen paar Wörtern schon getan ist?
Belur is offline  
Old 10/11/2011, 17:19   #4
 
xNopex's Avatar
 
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
Quote:
Was machen die für einen Sinn wenns mit diesen paar Wörtern schon getan ist?
Keine Ahnung welches Verfahren zum Sortieren von Arrays von Java bei .sort() verwendet wird, aber die verschiedenen Sortierungsverfahren verhalten sich jeweils extremst verschieden in ihrem Laufzeitverhalten. Bubblesort dürfte das einfachste Sortierungsverfahren sein, aber es hat glaub ich auch ein lineares laufzeitverhalten. D.h. umso größer die Anzahl der Elemente, desto länger dauert das Sortieren. Es gibt deshalb Verfahren mit einer flacheren laufzeitkurve z.B. eine logarithmischen Entwicklung, z.B. beim Mergesort. Dieser ist jedoch komplizierter zu programmieren als ein einfacher Bubblesort. Aber dennoch sicher sinnvoll, wenn vergleichsweise viele Elemente sortiert werden sollen.
xNopex is offline  
Thanks
1 User
Old 10/11/2011, 18:11   #5
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
Java wird vermutlich wie Delphi QuickSort verwenden, da es im Allgemeinen am schnellsten, in-place und ohne viel Drumherum zu implementieren ist.

Wenn du dein Array einfach nur sortiert haben willst, kannst du bei .sort bleiben.
Geht es dir aber um den Algorithmus selber oder du versuchst halt, dein Programm auf Geschwindigkeit zu optimieren, dann solltest du dir eine eigene Funktion schreiben.

Btw. Simples Bubblesort ist zwar langsam, lässt sich aber auch leicht etwas optimieren
link is offline  
Old 10/11/2011, 18:20   #6

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
JavaDoc:

Quote:
The sorting algorithm is a tuned quicksort, adapted from Jon L. Bentley and M. Douglas McIlroy's "Engineering a Sort Function",
Also QuikSort. Wenn du sie per Hand nachcoden willst: Sortierverfahren
Obilee is offline  
Thanks
1 User
Old 10/12/2011, 19:57   #7
 
Belur's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 3,441
Received Thanks: 1,473
Gibts zu meiner 2. Frage ne schnelle Methode 2 Array Einträge zu vertauschen?
Belur is offline  
Old 10/12/2011, 20:18   #8

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
beispiel wenn du den 0. mit dem 1. Eintrag tauschen willst:

int tmp = arr[0];
arr[0] = arr[1];
arr[1] = tmp;
Obilee is offline  
Thanks
1 User
Old 10/13/2011, 17:59   #9
 
Belur's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 3,441
Received Thanks: 1,473
Also ich hab jetzt diese 2 Mathoden:

PHP Code:
public void abhaengigVonSortiere(int[] zahlenArray) {
        
boolean unsortiert=true;
        
int temp;

        while (
unsortiert){
            
unsortiert false;
            for (
int i=0zahlenArray.length-1i++) 
                if (
zahlenArray[i] > zahlenArray[i+1]) {                      
                    
temp       zahlenArray[i];
                    
zahlenArray[i]       = zahlenArray[i+1];
                    
zahlenArray[i+1]     = temp;
                    
unsortiert true;
            }          
        }
        
    } 


    public 
void sortiere(){

        
abhaengigVonSortiere(zahlenArray);
        for (
int i=0i<zahlenArray.lengthi++) 
            
System.out.print(zahlenArray[i]+" ");    
    } 
Jaa. So klappt das auch.

Hab jetzt nur eine Frage: Kann ich das auch in eine Metode packen?
Hab versucht die letzte for-Schleife in die obere Methoden zu packen aber das geht irgendwie nicht.



Und die 2. Sache:

Ich weiß nicht was der Parameter in der ersten Methode genau macht. Wenn ich wegnehme klappt nix mehr, und wenn ich die Methode ausführe muss ich nen Wert angeben von dem ich garnicht weiß, was ich eingeben sollte.


Wenn ich mir nen Array ausgeben lasse, kann ichs mit der 2. Methode sortieren. Klappt super.

Fragt sich nur ob das in einer Methode geht bzw ob der Paramzter aus der 1. nicht irgendwie weg kann -.-


~Greets
Belur is offline  
Old 10/13/2011, 20:05   #10
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 454
Mathode, Metode, Methode.. was denn nun?

BTT:
Lass es besser, scheint ja sowieso nichts zu werden.
link is offline  
Thanks
1 User
Old 10/13/2011, 20:21   #11
 
Belur's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 3,441
Received Thanks: 1,473
Sorry dass ich mich manchmal verschreibe. Bin grad am Pc und bin Laptop-Tastatur gewöhnt.

Ehm. Nja. Um erlich zu sein gib ich nie so schnell auf bzw hinterfrag es lieber um es dann nächstes mal besser zu machen. Kann ja nicht jeder auf Anhieb alles wissen und können wie du O.o
Belur is offline  
Old 10/14/2011, 07:09   #12

 
Obilee's Avatar
 
elite*gold: 144
Join Date: May 2007
Posts: 62,459
Received Thanks: 29,541
Schreib die Methodennamen hin damit man auch weißt welche du meinst.

@abhaengigVonSortiere: (int[] zahlenArray) heißt du bekommst ein int Array übergeben mit dem du die ganze zeit arbeitest, wenn du das rausnimmst bzw. keins bekommst ist doch klar das alles andere nicht mehr geht oder ?

Du hast beides schon in methoden warum willst du das noch mehr aufsplitten ? Wenn dann müsstest du der forschleife wieder das array übergeben und einen rückgabeparameter einbauen.

Lies dir mal vllt folgende sachen durch:



Du scheinst mir das alles eher auf gut glück zu "coden" ohne wirklich nen plan zu haben was dein code überhaupt macht oder wie die einzelnen sachen funktionieren.
Obilee is offline  
Old 10/14/2011, 08:18   #13
 
Belur's Avatar
 
elite*gold: 0
Join Date: Jul 2009
Posts: 3,441
Received Thanks: 1,473
Sind nur unterrichtsbezogene sachen da wir ziemlich springen kommt das erst mit zeit und übung. Gucks mir heut mittag an. Danke
Belur is offline  
Reply


Similar Threads Similar Threads
[JAVA Error] Could not create the java virtual machine
07/21/2013 - Technical Support - 10 Replies
Schönen Abend! Leider hat es sich aus einem unerfindlichen Grund ergeben, dass sobald ich die Minecraft.exe starten will die Errormeldung kommt. Die Tips auf Minecraft.net habe ich schon ohne Erfolg befolgt. Hoffe ihr könnt mir weiterhelfen... Mein PC:
Zahlen sortieren in C
02/10/2011 - General Coding - 13 Replies
Bräuchte nochmal ein klein bisschen hilfe bei einer C aufgabe. Ich muss eine zahlenfolge eingeben maximal 20zahlen und diese sortiert ausgeben, aber jeder durchlauf soll angezeigt werden, soweit so gut das programm läuft auch, jedoch hab ich 2 sachen die mich sehr stören 1. Man muss jetzt -1 eingeben wenn man keine zahlen mehr eingeben möchte, bekomme es aber irgendwie nur so hin, fände es besser wenn man am ende enter drückt und fertig ;) 2. Fänd ich es schöner wenn man nicht nach jeder...
Nach Datum sortieren...
09/29/2010 - General Coding - 1 Replies
Hallo Ich versuche seit einiger Zeit Datein, in meinem Fall html datein, aus einem bestimmten Ordner auszugeben. Das habe ich auch geschafft, jedoch ist mein Problem das die Datein nach dem Alphabet ausgegeben werden und so nicht die neuste oben steht... Kann ich irgentwie die Datein nach dem Datum oder was auch immer sortieren so, dass die dann richtig ausgegeben werden? Mein alter Code bis jetzt: <?php foreach (glob("artikel/*.html") as $filename) {
taschen sortieren?!
01/14/2007 - World of Warcraft - 1 Replies
tach. soweit ich weiss gibt es einzellne addons wie bagsort die die taschen inhalte (also items) sortieren. leider funzt das nich mehr >_> gibt es UIs oda andere addons, die sone funktion beinhalten? kthnxbye :D



All times are GMT +1. The time now is 06:17.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.