![]() |
| | Themen-Optionen |
| | Nach oben #2 | |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
| Zitat:
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! | |
| | |
| | Nach oben #3 |
| Gast
Beiträge: n/a
| PHP-Code: Ob aufsteigend oder absteigend, bestimmt das Vorzeichen in der Bedingung. War auch wieder mal lustig sowas zu programmieren. < heißt absteigend > heßt aufsteigend d.h. Das obige Beispiel sortiert das Array absteigend. MfG Fat Tony |
|
| | Nach oben #5 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.213
|
das ist klar, aber... da fehlt mir der Sinn hinter! Warum das ganze selber machen? Wie soll das anschl. anderes sein, dass sich das lohnt?
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #6 | |
| Gast
Beiträge: n/a
| Zitat:
Bei uns war das so ziemlich die erste PUC (Programmieren) Aufgabe die wir bekommen haben, damit wir Arrays besser verstehen haben wir dann auch noch Sachen gespiegelt und und und. Allerdings in Java. Ansonsten macht es wenig Sinn, weil es einfach langsam ist. MfG Fat Tony | |
|
| | Nach oben #8 |
| Benutzer Registriert seit: 05.11.2005
Beiträge: 38
|
Sorry .. .ich meinte natürlich den Algorithmus. Vielen Dank für den Link und vor allem für das Codebeispiel. Ich habe mir über Nacht selber Gedanken gemacht und werde das Resultat posten. Und ja ... ist für die Schule, ansonsten bevorzuge ich sort() usw. Gast |
| | |
| | Nach oben #9 |
| Benutzer Registriert seit: 05.11.2005
Beiträge: 38
|
So ... meine Lösung - vielleicht nicht die Beste aber immerhin meine eigene Code: <?php
$zahlenreihe = array(2,5,77,-99,9,0,23,34,27,7,-12,198);
function vergleichssortierung($zahlenreihe) {
echo implode(' | ', $zahlenreihe) . '<br />';
$vertauscht = 0;
for ($n=0; $n<count($zahlenreihe)-1; $n++) {
if ($zahlenreihe[$n] > $zahlenreihe[$n+1]) {
$vertauscht++;
$speicher = $zahlenreihe[$n];
$zahlenreihe[$n] = $zahlenreihe[$n+1];
$zahlenreihe[$n+1] = $speicher;
}
}
if ($vertauscht == 0) return $zahlenreihe;
else return vergleichssortierung($zahlenreihe);
}
echo '<b>' . implode(' | ', vergleichssortierung($zahlenreihe)) . '</b>';
?>
Geändert von Gast (21.05.2006 um 11:18 Uhr). |
| | |
| | Nach oben #11 |
| Gast
Beiträge: n/a
|
prolog lernst mal schön selber. von einem fertigen prolog-skript lernst du nichts mehr, denn es kommt auf den weg an, und nicht auf das ziel. speziell bei prolog, wo man ordentlich umdenken muss. einen tipp hätte ich aber: bubblesort dürfte mit prolog die einfachste methode sein. um effizienz geht's ja nicht. by the way: warum benutzt du keine suchmaschine? [edit] ah, ich sehe grad, du hast eh bubblesort implementiert. also dann: in prolog ist es das selbe in grün. [/edit] Geändert von axo (21.05.2006 um 18:32 Uhr). |
|
| | Nach oben #12 |
| Blubb... öfz Registriert seit: 16.03.2006 Ort: Berlin
Beiträge: 419
|
Endlich mal was auf das ich antworten kann. Es gibt da noch den Mergesort, der neben Bubble- und Quicksort der schnellste ist, weil er am wenigsten Kosten verursacht. Schau einfach mal unter wikipedia.de nach Merge Sort. Dort findest du auch ne Java-Implementierung. Ansonsten ist das ganze relativ einfach. Du hast ja schon ein paar Ansätze. Hier mal meine implementierung des Mergesorts. Allerdings mit Java programmiert. Die Portierung sollte dir recht leicht fallen Falls du noch weitere Fragen zum (eigentlich selbsterklärenden) Code haben, nur her damit BTW... Java haben wir derzeit auch im LK... Ist recht spaßig Code: import java.util.Random;
public class Sortieren {
Random rnd = new Random();
public int[] getZufallsFeld(int n, int max) {
int i;
int [] feld = new int[n];
for(i=0;i<n;i++) {
feld[i]=rnd.nextInt(max);
}
return feld;
}
// Suchen
public static int MergeSearch(int[] liste, int buchstabe) {
int liste1 = liste.length/2;
int liste2 = liste.length/2;
int[] l1 = new int[liste1];
int[] l2 = new int[liste2];
int n = 0;
for(int i=0;i<= liste1;i++) {
l1[n] = liste[i];
n++;
}
for(int j=liste2-liste1;j<=liste2;j++) {
l2[n] = liste[j];
n++;
}
if(l1[liste1] < buchstabe){
MergeSearch(l2, buchstabe);
}if(l1[liste1] == buchstabe) {
return l1[liste1];
}if(l2[liste1] > buchstabe) {
MergeSearch(l1,buchstabe);
}
}
// Sortieren
public static int[] merge(int[] list1, int[] list2){
int k = list1.length + list2.length;
int[] list3 = new int[k];
int i=0;
int j=0;
int n=0;
while (list1.length>i && j<list2.length){ //bis eine Liste durchgelaufen ist
if (list1[i]<list2[j]) {
list3[n] = list1[i];
i++;
}
else {
list3[n] = list2[j];
j++;
}
n++;
}
//restliche Elemente der ersten Liste ans Ende haengen
if (list1.length>i) {
for (int q =i; q<list1.length; q++){
list3[n] = list1[q];
n++;
}
}
//restliche Elemente der zweiten Liste ans Ende haengen
if (list2.length>j) {
for (int p =j; p<list2.length; p++){
list3[n] = list2[p];
n++;
}
}
return list3;
}
//Erstellt einen Int-Array aus Teilen eines anderen Int-Array
public static int[] listeErstellen(int[] liste, int start, int ende){
int[] endListe = new int[ende];
int n=0;
for (int i=start; i<(start+ende); i++){
endListe[n] = liste[i];
n++;
}
return endListe;
}
//Splitten der Listen und wieder zusammensetzen
public static int[] splitNSort (int[] liste) {
int[] endListe = new int[liste.length];
int l1 = liste.length / 2;
int l2 = liste.length - l1;
if (liste.length > 1) {
endListe = merge(splitNSort(listeErstellen(liste,0,l1)),splitNSort(listeErstellen(liste,l1,l2)));
}
else {
endListe = liste;
}
return endListe;
}
//umwandeln eines Int-Array in einen String
public static String intArrayToString(int[] liste){
String str = "";
for (int i=0; i<liste.length;i++){
str += liste[i] + ",";
}
return str;
}
public static void main(String args[]){
Zufallsliste zufallsliste = new Zufallsliste();
int[] list1 = zufallsliste.getZufallsFeld(10,10);
System.out.println("ungeordnete Liste: " + intArrayToString(list1));
int[] list2 = splitNSort(list1);
System.out.println("geordnete Liste: " + intArrayToString(list2));
int rueckwert = MergeSearch(list2,5);
}
}
__________________ Vive la France! Welcome to Sarkoworld... |
| | |
| | Nach oben #13 |
| Verplanter Benutzer Registriert seit: 14.12.2004
Beiträge: 227
|
Hallo, also folgendes Array liegt vor ... Code: $array[0] [0]Array ( [0] => 1 [1] => 1 [2] => [3] => [4] => [5] => 0 [6] => 0 [7] => 1 [8] => 1 ) [1]Array ( [0] => 2 [1] => 11 [2] => [3] => [4] => [5] => 0 [6] => 0 [7] => 11 [8] => 1 ) [2]Array ( [0] => 3 [1] => 10 [2] => [3] => [4] => [5] => 0 [6] => 0 [7] => 10 [8] => 1 ) [3]Array ( [0] => 0 [1] => 9 [2] => [3] => [4] => [5] => 0 [6] => 0 [7] => 9 [8] => 0 ) array_multisort($array[0], SORT_ASC); Code: $array[0] [0]Array ( [0] => 0 [1] => 9 [2] => [3] => [4] => [5] => 0 [6] => 0 [7] => 9 [8] => 0 ) [1]Array ( [0] => 1 [1] => 1 [2] => [3] => [4] => [5] => 0 [6] => 0 [7] => 1 [8] => 1 ) [2]Array ( [0] => 2 [1] => 11 [2] => [3] => [4] => [5] => 0 [6] => 0 [7] => 11 [8] => 1 ) [3]Array ( [0] => 3 [1] => 10 [2] => [3] => [4] => [5] => 0 [6] => 0 [7] => 10 [8] => 1 ) Ich komme da einfach nicht dahinter warum und wie !? Jemand ne Idee oder einen Anstoss für mich ?
__________________ Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut. Ich such immer noch den Cheat für unlimited money! |
| | |
| | Nach oben #14 |
| Verplanter Benutzer Registriert seit: 14.12.2004
Beiträge: 227
|
Lösung .... PHP-Code: PHP-Code: -- erweitert -- Ausserhalb als Funktion: PHP-Code: PHP-Code:
__________________ Das Leben ist zwar bloß ein Adventure-Game, aber die Grafik ist verdammt gut. Ich such immer noch den Cheat für unlimited money! Geändert von DasMööp (25.03.2007 um 22:42 Uhr). |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Zend Framework - Probleme mit Zend_Controller_RewriteRouter bzw. Form der URLs | Ben | PEAR, PECL und Frameworks | 12 | 24.12.2006 17:17 |
| Suche Hilfe: Angebot und Nachfrage berechnen | ljungi | Plauderecke | 6 | 17.12.2006 22:10 |
| Array in Bezug auf ein anderes sortieren... | code5 | PHP-Programmierung | 2 | 15.05.2006 15:56 |
| Ein Array in ein Array schreiben | bacarni | PHP-Programmierung | 2 | 07.02.2006 14:24 |
| Zweidimensionales Array sortieren | ehli75 | Allgemeine Java-Programmierung | 2 | 17.06.2005 09:03 |