Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Listen aufspalten c++ » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Der letzte Beitrag
Student123 Listen aufspalten c++

Meine Frage:
Hallo,
zuerst muss ich sagen, dass ich gerade Informatik II besuche und zuvor nie etwas mit Programmieren zu tun hatte (falls Beschwerden zum Stil oder offensichtlichen Fehlern kommen)
Ich habe ein Problem bei folgender Aufgabe:

Schreiben Sie eine Funktion void split(LinkedList* l, int v, LinkedList** a,LinkedList** b);
welche eine verkettete Liste in zwei neue aufspaltet. Die Originalliste l darf dabei nicht verändert werden. Achtung: Zeiger auf Zeiger!

Ich habe große Probleme mit dem Zeiger auf Zeiger hierbei. Ich weiß nicht wie ich nach dem finden des Auftretens von v weiter machen soll, bzw. wie ich Anfange die Listen a und b zu 'füllen'.

Ich hoffe ihr könnt mir vielleicht weiter helfen.
Danke und LG

Meine Ideen:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
struct Element {
	int data;
	Element* next;
}; 

struct LinkedList {
	Element* head;
	int size;
};

void split(LinkedList* l, int v, LinkedList** a, LinkedList**b) {
	//suche nach v
	Element*c = l->head;
	if (c->data == v) {}
	else {
		for (int i = 0; i < l->size; i++) {
			c = c->next;
			if (c->data == v) {
				break;
			}

		}