|
You last visited: Today at 06:16
Advertisement
Java: ZahlenArray sortieren?!
Discussion on Java: ZahlenArray sortieren?! within the General Coding forum part of the Coders Den category.
10/11/2011, 16:46
|
#1
|
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
|
|
|
10/11/2011, 16:52
|
#2
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
|
PHP Code:
int[] array = new int[]{ 4, 6, 2, 7, 5, 8, 9, 3, 1 };
//unsortiert
System.out.println( java.util.Arrays.toString( array ));
// sortiert
java.util.Arrays.sort( array );
System.out.println( java.util.Arrays.toString( array ));
|
|
|
10/11/2011, 16:58
|
#3
|
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?
|
|
|
10/11/2011, 17:19
|
#4
|
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.
|
|
|
10/11/2011, 18:11
|
#5
|
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
|
|
|
10/11/2011, 18:20
|
#6
|
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
|
|
|
10/12/2011, 19:57
|
#7
|
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?
|
|
|
10/12/2011, 20:18
|
#8
|
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;
|
|
|
10/13/2011, 17:59
|
#9
|
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=0; i < zahlenArray.length-1; i++) 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=0; i<zahlenArray.length; i++) 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
|
|
|
10/13/2011, 20:05
|
#10
|
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.
|
|
|
10/13/2011, 20:21
|
#11
|
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
|
|
|
10/14/2011, 07:09
|
#12
|
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.
|
|
|
10/14/2011, 08:18
|
#13
|
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
|
|
|
 |
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.
|
|