Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Array-Inhalte untereinander austauschen

Frage Entwicklung Java

Mitglied: Sokrates

Sokrates (Level 1) - Jetzt verbinden

08.09.2009, aktualisiert 12:38 Uhr, 16998 Aufrufe, 11 Kommentare, 1 Danke

Hallo,

kann mir vielleicht einer sagen, wie ich die Werte zweier Felder vertauschen kann?

Beispiel:
01.
Feld[0] = 25; 
02.
Feld[1] = 18;
Wie gebe ich nun den Wert von Feld[0] Feld[1] und umgekehrt?

X
Mitglied: H41mSh1C0R
08.09.2009 um 11:44 Uhr
Du hast hier 1 Array und nicht 2, sondern 2 Feldpositionen EINES Arrays.

Nun kannst du wenn es nur um das tauschen von 2 Stellen geht, eine Hilfsvariable nutzen.

Hilfvariable XYZ

Feld[0] --> XYZ
Feld[1] --> Feld[0]
XYZ --> Feld[1]

Alternativ kannst du das auch Array intern machen.


Feld[0] --> Feld[2]
Feld[1] --> Feld[0]
Feld[2] --> Feld[1]

Nur der Sinn des Array ist kaum gegeben, wenn man das Array nur mit 1-2 Positionen benutzt.

Willst du wirklich den Inhalt GANZER Arrays tauschen kannst du das Analog tun mit einem Hilfsarray.

Ein gänzlich anderer Weg wäre das benutzen von Zeigern. Nur dumm das es in Java keine Zeiger gibt. ^^
Bitte warten ..
Mitglied: BCCray
08.09.2009 um 11:49 Uhr
Hallo XSkater


ich würd (in diesem Fall) einfach den Wert von "0" irgendwo zwischenspeichern, den Wert "0" dann mit den Wert "1" überschreiben, und den Wert "1" dann mit den temporären Wert überschreiben.

Ansonten empfehle ich: JAVA API - Arrays


Mist zu langsam

Wenn du die Zahlen sortieren willst, dann kannst du das mittels verschiedener Algorithmen machen (BubbleSort, QuickSort, etc)
Bitte warten ..
Mitglied: Sokrates
08.09.2009 um 12:39 Uhr
Zitat von H41mSh1C0R:
Nur der Sinn des Array ist kaum gegeben, wenn man das Array nur mit
1-2 Positionen benutzt.
Es sind nicht 1-2 Positionen, sondern in dem Fall hier 20, wobei ich halt nur einmal tauschen muss ;)

X
Bitte warten ..
Mitglied: Sokrates
08.09.2009 um 12:40 Uhr
Zitat von BCCray:
Wenn du die Zahlen sortieren willst, dann kannst du das mittels
verschiedener Algorithmen machen (BubbleSort, QuickSort, etc)

Mit Sortieren meinst du jetzt glaube ich nach Größe etc.?
Kann man auch selbst bestimmen, womit man anfängt? (Also klein nach groß oder groß nach klein)

X
Bitte warten ..
Mitglied: Sokrates
08.09.2009 um 12:55 Uhr
Zitat von H41mSh1C0R:
Feld[0] --> Feld[2]
Feld[1] --> Feld[0]
Feld[2] --> Feld[1]

habe das jetzt mal probiert (auch mit der Hilfsvariable) und bei beiden hatte ich den selben Fehler.
Ich denke es ist ein kleiner Anfängerfehler von mir, jedoch komme ich da trotzdem nicht drauf.

Wenn ich nun die Arrays ausgebe, dann haben Feld[0] und Feld[1] beide den Wert, den vorher Feld[2] hatte.
Was mache ich da falsch?

X
Bitte warten ..
Mitglied: BCCray
08.09.2009 um 12:55 Uhr
Genau nach Größe.

Wie du die Sortierung machst, hängt von deinem Algoritmus ab, den du halt selbst implementieren musst.

Hilfe bietet hierbei jedes gute Java-Buch oder auch Google
oder du folgst diesem Link Sortieren
Bitte warten ..
Mitglied: Sokrates
08.09.2009 um 13:02 Uhr
Ich habe jetzt mal eine etwas andere Methode angewendet, die anscheinend auch bei Arrays funktioniert.
Das hatte ich vorher nur bei integer-Variablen gemacht.

01.
Feld[0] = Feld[0] + Feld[1]; 
02.
Feld[1] = Feld[0] - Feld[1]; 
03.
Feld[0] = Feld[0] - Feld[1];
Funktioniert jetzt wie gewollt.

Wieso funktioniert das mit der Hilfsvariable bzw. Array intern jedoch nicht?

X
Bitte warten ..
Mitglied: H41mSh1C0R
08.09.2009 um 13:17 Uhr
Das mit der Hilfsvariablen funktioniert.

Ich schreibe hier nur keine fertigen Quelltexte, sondern das Ganze wird abstrakt formuliert.

Die Implementierung ist das woran du lernst. ^^

Aber so richtig schwer ist das doch nicht zu verstehen oder?

Variable1 --in--> Hilfvariable speichern
Variable2 --in--> Variable1 speichern
Hilfsvariable --in--> Variable2 speichern

Wenn du nun Arrays benutzt mit mehr als 3 Feldpositionen, ist erstmal die Frage welche Feldpositionen willst du miteinander tauschen?

Wenn du das weißt, kannst du dem Feld um 1 Feldposition größer machen und das ist dann deine Hilfvariable. Danach verfährst du analog zu dem was oben steht.

{
Feld[zu tauschende Feldposition1] --in--> Feld[letzte Feldposition] speichern
Feld[zu tauschende Feldposition2] --in--> Feld[zu tauschende Feldposition1] speichern
Feld[letzte Feldposition] --in--> Feld[zu tauschende Feldposition2] speichern
}
wiederhole solange bis nix mehr zu tauschen ist
Bitte warten ..
Mitglied: Sokrates
08.09.2009 um 13:20 Uhr
Das ist ja auch nicht schwer zu verstehen, jedoch bekomme ich mit der Hilfsvariable dann bei beiden Arrays die gleichen Werte, wenn ich der Variable vorher keinen festen Wert gebe.
Gebe ich ihr einen Wert, wird dieser nicht überschrieben und beide Felder bekommen den jeweiligen zugewiesen.

X
Bitte warten ..
Mitglied: Sokrates
08.09.2009 um 13:21 Uhr
Zitat von BCCray:
Genau nach Größe.

Wie du die Sortierung machst, hängt von deinem Algoritmus ab,
den du halt selbst implementieren musst.

Hilfe bietet hierbei jedes gute Java-Buch oder auch Google
oder du folgst diesem Link
Sortieren

Danke

X
Bitte warten ..
Mitglied: H41mSh1C0R
08.09.2009 um 13:36 Uhr
poste doch mal etwas quelltext von dir, vielleicht ist es ja nur eine kleinigkeit, aber so allein mit meiner verstaubten Glaskugel komm ich da auch nicht weiter, bei dem was du uns an informationen gibst.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

C und C++
gelöst Anzahl der Buchstaben in einem String Element Array C++ (3)

Frage von Protected zum Thema C und C ...

Virtualisierung
gelöst Interne Netzwerke untereinander kommunizieren lassen (9)

Frage von chelewae zum Thema Virtualisierung ...

Microsoft Office
gelöst Einträge untereinander Auflisten (8)

Frage von batchnewbie zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...