begrenzte Datenstruktur zur Speicherung von bytes

A

adg

Gast
Hallo ihr Expertn, ich brauch mal eure Hilfe zu einer Abiturvorbereitungsaufgabe:

Aufgabe2:
Code:
In einem Thread des System-Programms des Mikrocontrollers werden mittels der Klasse 
ADC Messungen gestartet und die Messwerte im RAM des Mikrocontrollers abgelegt. Für das 
Ablegen der Messwerte ist eine Datenstruktur mit begrenztem Speichervermögen vorzusehen.
Wenn diese erschöpft ist, sollen die ältesten Messwerte in der Datenstruktur 
überschrieben werden. Beim Start des Threads steht der gesamte vorgesehene Datenbereich 
zur Verfügung; Messwerte aus vorangegangenen Messzyklen werden mit dem Wert 0 
überschrieben.Beschreiben Sie eine geeignete Datenstruktur zum Ablegen der Messwerte 
und erläutern Sie -ggf. anhand einer Skizze-, wie die zuvor beschriebene Funktionalität 
realisiert wird.



Folgeaufgabe3
Code:
In einem Messzyklus werden zu Beginn des Threads alle Datenelemente initialisiert. 
Anschließend erfolgen fortlaufend Messungen, deren Werte gemäß der vorigen Beschreibung 
im Messwertspeicher abzulegen sind. [highlight] Die Variable values verweist auf das erste 
Datenelement.[/highlight]  Die Variable size enthält die Anzahl der Datenelemente.
Entwerfen Sie ein PAP oder ein Struktogramm für einen Messzyklus unter Verwendung 
der von Ihnen gewählten Speicherstruktur sowie der Klasse ADC.



Mir geht es vordergründig jetzt nicht um das Struktogramm, oder die Skizze, sondern um die Implementierung und die Idee dahinter.
Ich hatte aufgrund des rot markierten Satzes oben gemeint, dass es eine verlinkte Liste (LinkedList, oder ArrayList) sein müste, deren letztes Element
das Erste kennt und somit mit einem Iterator immer das next() aufgerufen werden kann, um immer das älteste Datenelement zu überschreiben.
Bei einem Array wäre es ja so, dass ich keinen Iterator benutzen könnte und ggf. immer das ganze Array (ohne next()) umständlich verschieben müsste.

Gibt es andere vorschläge mit Begründung?

Java:
 int x = 0;
		LinkedList<byte[]> value = new LinkedList<byte[]>();
		Iterator it = value.iterator();
		
		while (x < 10) { //beispiel!!
		//die neu erzeugten Objekte sollen als Übergabebeispiele gesehen werden
			
			value.add(new byte[1]);
			value.add(new byte[2]);
			value.add(new byte[3]);
			value.add(new byte[4]);
			value.add(new byte[5]);
			value.add(new byte[1]);

			
			byte[] current;

			if (!it.hasNext()&&value.get(4)!=null) {
				it.setNext(value.getFirst()); 
                        //tja, wie bekommeich diese setNext()-Methode hin??? 
			}
			x++;
		}


Mir fehlt glaube ich einfach gerade der Ansatz. Kann mir jemand bittehelfen?
 

nrg

Top Contributor
Aufgabe2:
Code:
Für das 
Ablegen der Messwerte ist eine Datenstruktur mit begrenztem Speichervermögen vorzusehen.

Dann wohl eher ein normales Array


Ich hatte aufgrund des rot markierten Satzes oben gemeint, dass es eine verlinkte Liste (LinkedList, oder ArrayList) sein müste, deren letztes Element

"verlinkte Liste (LinkedList, oder ArrayList)", ArrayList ist imho nicht verlinkt. LinkedList enthält die Referenzen des Vor- und Nachfolgers. Eine ArrayList enthält intern ein Array.
 
A

adg

Gast
hi, danke erstmal ...
ich dachte, es gibt da eine besondere Klasse, mit der es einfacher geht.
Ich bin jetzt auch auf die Queue http://java.sun.com/j2se/1.5.0/docs/api/java/util/Queue.html#poll%28%29
gestoßen, bei der mit poll() immer das lezte beschriebene Element ausgestoßen und gelöscht wird.
Gibt es sowas nicht auch für das "älteste" (also an erster Stelle?) Element im "array"? Vielleicht noch mit einer methode rotation(), damit man immer alles rotieren lassen kann und immer das älteste Element an die erste Stelle schiebt und mit remove(first) dann löschen kann?
 

Schumi

Bekanntes Mitglied
Also eine Queue funktioniert eigentlich nach dem fifo (first in first out) Prinzip. Hier die Mehtode remove() der AbstractQueue:
remove()
Retrieves and removes the head of this queue.
Ansonsten könntest Du doch auch eine Array nehmen und zusätzlich mit einer Variablen die Position des derzeit ältesten Elementes speichern. Wenn es voll ist dann beim hinzufügen dieses überschreiben und den Zeiger eines weiter setzen. Wenn Du am Ende bist eben wieder auf den Anfang des Arrays setzen.

Eta: Poll von Queue entfernt doch auch den Kopf und das ist bei einer Queue eben genau das zuerst hinzugefügte (also älteste) Element.
 
A

adg

Gast
hi, also ich dachte mir, das problem, dass ich einen Zeiger im Array habe, besteht darin, dass ich einen größeren Aufwand habe, dieses array auszulesen, weil eine aussenstehende Klasse ja mit getArray() erstmal das Array umschreiben müsste, bevor es dieses zurückgibt. Aber mein rotier-vorschlag, dass das array bei jeder eingabe rotiert, istauch nciht ideal.

Ok, das mit dem poll hab ich dann falsch verstanden. Dachte, der Kopf (head) istdas zuletzt hinzugefügte Element. Da LinkedList dieses Interface implementiert, gibt es auch ncoh eine weitere gute methode : addFirst(Object o) ... Diese Methode fügt an erster Stelle ein Objekt ein und verschiebt alle anderen Obekte eins nach hinten ... wobei sich auch die Listengröße ändert.... wenn ich nicht die methode : remveLast() hätte :D juhuuu
... jetzt hab ich aber noch das problem, dass die LinkedList nicht begrenzt ist, oder?
 
A

adg

Gast
"verlinkte Liste (LinkedList, oder ArrayList)", ArrayList ist imho nicht verlinkt. LinkedList enthält die Referenzen des Vor- und Nachfolgers. Eine ArrayList enthält intern ein Array.

Versteh ich jetzt nicht. Die LinkedList ist nicht verlinkt, aber enthält Referenzen (Zeiger/Verweis=Link) auf die Vor- und Nachfolger??? Das widerspricht sich doch, oder nicht?

Und wie geht das dann eigentlich mit der Methode get(index) ... die geht dann bei get(1000) eben 1000 mal zum nächsten element (wär doch etwas umständlich ... also müsste es doch schon in nem internen Array irgendwie gespeichert werden?)), oder wie kann ich mir das vorstellen?
 

Woodstock

Mitglied
Hallo,

Und wie geht das dann eigentlich mit der Methode get(index) ... die geht dann bei get(1000) eben 1000 mal zum nächsten element (wär doch etwas umständlich ... also müsste es doch schon in nem internen Array irgendwie gespeichert werden?)), oder wie kann ich mir das vorstellen?

Doch, so funktioniert eine verkettete Liste. Bei einem Array kann man direkt eine Position anspringen. Dafür ist aber das verändern von verketteten Listen einfacher (Elemente hinzufügen, löschen, etc), da man nur die Links ändern muss.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y Begrenzte Anzahl an Objekten? Java Basics - Anfänger-Themen 12
T Begrenzte Anzahl von Klicks Java Basics - Anfänger-Themen 3
F String begrenzte Länge??? Java Basics - Anfänger-Themen 16
M Queue-Datenstruktur: nach dem Elementen entfernen, das Ergebnis ist immer noch nicht optimal. Java Basics - Anfänger-Themen 3
FelixN Teilsummenproblem / welche Datenstruktur Java Basics - Anfänger-Themen 2
M Implementieren einer Datenstruktur, welche nur 5 Objekte speichert Java Basics - Anfänger-Themen 3
O Datenstruktur auf SET prüfen in O(n) Java Basics - Anfänger-Themen 32
O Vererbung Ueben mit kleiner Datenstruktur von Räumen Java Basics - Anfänger-Themen 10
A Datenstruktur für Savings Algorithmus und Planung von kleinen Programmierprojekten Java Basics - Anfänger-Themen 1
F Beste Datenstruktur zum Speichern? Java Basics - Anfänger-Themen 1
I Spielbrett programmieren: Datenstruktur Java Basics - Anfänger-Themen 3
R Klassen Die lineare Datenstruktur Queue Java Basics - Anfänger-Themen 3
S Welche Datenstruktur ist die optimalste um Funktionen fuer bestimmte Wertebereiche abzurufen..? Java Basics - Anfänger-Themen 5
C Methoden Datenstruktur Liste Java Basics - Anfänger-Themen 3
S Datentypen nicht lineare STATISCHE Datenstruktur? Java Basics - Anfänger-Themen 10
S Zusammenhang Datenstruktur/Algorithmus Java Basics - Anfänger-Themen 1
M Datenstruktur gesucht Java Basics - Anfänger-Themen 3
Luk10 Geeignete Datenstruktur Java Basics - Anfänger-Themen 4
J Erzeugen einer Datenstruktur Java Basics - Anfänger-Themen 12
T Datenstruktur für Sortierung Java Basics - Anfänger-Themen 4
H mehrdimensionale Datenstruktur erfassen Java Basics - Anfänger-Themen 10
StupidAttack Gson, welche Datenstruktur? Java Basics - Anfänger-Themen 4
T Java-Datenstruktur: zuweisen von Strings auf Listen von Strings Java Basics - Anfänger-Themen 10
N Vektor mit eigener Datenstruktur sortieren Java Basics - Anfänger-Themen 20
D Welche Datenstruktur für welche Problemstellung? Java Basics - Anfänger-Themen 10
H Adjazenzliste - Datenstruktur aber wie? Java Basics - Anfänger-Themen 7
Povlsen84 Datentypen Große, sortierte, schnelle Datenstruktur Java Basics - Anfänger-Themen 9
B Finden gemeinsamer Kanten: welche Datenstruktur ? Java Basics - Anfänger-Themen 9
B Schlange Datenstruktur Java Basics - Anfänger-Themen 16
G Datenstruktur gesucht Java Basics - Anfänger-Themen 14
A Schnelle, dynamische, geordnete Datenstruktur? Java Basics - Anfänger-Themen 11
E Gibt es eine ähnliche Datenstruktur wie eine Hashmap Java Basics - Anfänger-Themen 3
K eigene Hash-Datenstruktur Java Basics - Anfänger-Themen 2
D Was fürne Datenstruktur für Kreuztabelle mit doubles? Java Basics - Anfänger-Themen 1
K Datentyp vs. Datenstruktur - Unterschiede Java Basics - Anfänger-Themen 13
D Was machen wenn Datenstruktur sich ständig ändert? Java Basics - Anfänger-Themen 10
0 Dynamische Datenstruktur ohne Duplikate und mit direkter Elementauswahl Java Basics - Anfänger-Themen 3
G Welche Datenstruktur ( Sets / Maps)? Java Basics - Anfänger-Themen 10
I Datenstruktur eines Terminkalenders Java Basics - Anfänger-Themen 11
K suche nicht dynamisch Datenstruktur Java Basics - Anfänger-Themen 6
M Suche passende Datenstruktur Java Basics - Anfänger-Themen 3
P geeignete Datenstruktur für dreidimensionale Raumbelegung Java Basics - Anfänger-Themen 5
G Suche geeignete Datenstruktur Java Basics - Anfänger-Themen 8
G Baum Datenstruktur Java Basics - Anfänger-Themen 2
U Welche Datenstruktur soll ich nehmen? Java Basics - Anfänger-Themen 11
G Welche Datenstruktur ist hier die sinnvolste Java Basics - Anfänger-Themen 6
G Datenstruktur und die Kommunikation mit der GUI Java Basics - Anfänger-Themen 10
X txt datei in eine datenstruktur einlesen Java Basics - Anfänger-Themen 3
J Datenstruktur Java Basics - Anfänger-Themen 6
G Datenstruktur [int id, int wert] nach wert sortieren? Java Basics - Anfänger-Themen 5
S Welche Datenstruktur für Tabelle/DB? Java Basics - Anfänger-Themen 5
1 Wahl der Datenstruktur für die Suche. Java Basics - Anfänger-Themen 9
G Geeignete Datenstruktur ? Java Basics - Anfänger-Themen 8
N passende Datenstruktur Java Basics - Anfänger-Themen 3
E welche Datenstruktur (Collection) Java Basics - Anfänger-Themen 4
6 Welche Datenstruktur? Java Basics - Anfänger-Themen 3
P Datenstruktur Java Basics - Anfänger-Themen 4
J Kann man Daten innerhalb einer Datenstruktur verändern? Java Basics - Anfänger-Themen 4
K datenstruktur Java Basics - Anfänger-Themen 5
G Datenstruktur abbilden Java Basics - Anfänger-Themen 3
F Welche Datenstruktur für Matrix mit Vektoren? Java Basics - Anfänger-Themen 2
F Gibt es eine Datenstruktur für Koordinaten x, y? Java Basics - Anfänger-Themen 8
E Welche Datenstruktur für Spielbäume? Java Basics - Anfänger-Themen 13
P Datenstruktur gesucht: Array mit Dictionary Java Basics - Anfänger-Themen 2
H Datenstruktur für folgende Daten Java Basics - Anfänger-Themen 8
G Komplexe Datenstruktur (Liste heterogener Datensätze) ? Java Basics - Anfänger-Themen 2
P Welche Datenstruktur um schnell zu suchen? Java Basics - Anfänger-Themen 25
S Datenstruktur für Fahrplan einer Buslinie Java Basics - Anfänger-Themen 7
S Heterogene Datenstruktur Problem mit Set Java Basics - Anfänger-Themen 12
G Datenbank VS simpler Datenstruktur Java Basics - Anfänger-Themen 3
K Welche Datenstruktur für eine Bibliotheksanwendung? Java Basics - Anfänger-Themen 5
G datenstruktur für jTable? Java Basics - Anfänger-Themen 4
HorstSchröder Speicherung des Testzeitpunkts Java Basics - Anfänger-Themen 3
A Fehler bei der Speicherung von JOptionPane-Eingaben Java Basics - Anfänger-Themen 4
N Probleme bei Speicherung eines Integer-Array in Datei speichern Java Basics - Anfänger-Themen 3
fLooojava Speicherung einer Usereingabe Java Basics - Anfänger-Themen 2
S Input/Output Datei für Speicherung von Variablen Java Basics - Anfänger-Themen 5
L Persistente Speicherung Java Basics - Anfänger-Themen 19
GianaSisters Input/Output Speicherung über FTP-Problem Java Basics - Anfänger-Themen 7
Guybrush Threepwood Effizientester Datentyp zur Speicherung einer ungeordneten Menge von ints Java Basics - Anfänger-Themen 8
B Probleme bei XML-Speicherung Java Basics - Anfänger-Themen 7
N Sequentielle Speicherung Java Basics - Anfänger-Themen 2
F Speicherung von Werten?!? Java Basics - Anfänger-Themen 7
H Speicherung mit XML Java Basics - Anfänger-Themen 3
G Listenartige Speicherung verschiedener Objekte Java Basics - Anfänger-Themen 5
C JTable und dynamische Speicherung Java Basics - Anfänger-Themen 2
D speicherung Java Basics - Anfänger-Themen 8
E Programm zu Speicherung von Daten ---Totaler Anfänger Java Basics - Anfänger-Themen 7
G Speicherung von Referenzen auf Instanzen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben