000
06.01.2008, 11:06 Uhr
~weissnichtweiter
Gast
|
Hi, ich habe eine Aufgabe bei der ich nicht so richtig weiter komme :
In dieser Aufgabe gehen wir von einer aufsteigend sortierten verketteten Liste aus. Diese Liste kann Duplikate enthalten, d.h. mehrere Listenelemente können diesselbe Nutzinfo haben. Für die Liste können Sie folgende Struktur verwenden:
C++: |
struct SortierteListe { int data ; SortierteListe * next ; };
|
(a) Schreiben Sie eine Funktion SortierteListe* neueSortierteListe(int info), die eine aus einem Element bestehende Liste erzeugt. Dabei soll die Variable data des neuen Listenelements mit dem übergebenen Wert initialisiert werden. Die Funktion soll einen Zeiger auf das einzige Listenelement zurückliefern. (b) Schreiben Sie eine Funktion SortierteListe* einfuegen(SortierteListe* l,int info), die ein neues Element mit Nutzinfo info anlegt und an einer korrekten Stelle in die (sortierte) Liste l einfügt. Ein Zeiger auf die veränderte Liste soll zurückgegeben werden.
(c) Schreiben Sie eine Funktion void gibAus(SortierteListe* l), die alle in der Liste l eingetragenenWerte jeweils getrennt durch ein Leerzeichen auf dem Bildschirm ausgibt. Falls die Liste leer ist, soll der Text keine Werte ausgegeben werden.
(d) Schreiben Sie eine Funktion SortierteListe* loeschen(SortierteListe* l,int info), die alle in der sortierten Liste vorhandenen Elemente mit Nutzinfo info löscht. Ein Zeiger auf die veränderte Liste soll zurückgegeben werden.
(e) Schreiben Sie eine Funktion SortierteListe* verbinde(SortierteListe* l1, SortierteListe* l2), die zwei sortierte Listen verbindet. Die sich ergebende Liste soll wieder sortiert sein und alle Elemente aus Liste l1 und aus Liste l2 enthalten.
(f) Schreiben Sie eine Funktion SortierteListe* kopiere(SortierteListe* l), die eine übergebene Liste l elementweise kopiert und einen Zeiger auf die kopierte Liste zurückgibt.
(g) Schreiben Sie eine Funktion SortierteListe* dreheUm(SortierteListe* l), die eine übergebeneListe l elementweise kopiert und dabei die Reihenfolge der Elemente umdreht.
Also zu (a) hab ich das hier:
C++: |
#include <iostream>
using namespace std;
struct SortierteListe { int data; SortierteListe *next;
};
SortierteListe *startZeiger = NULL;
SortierteListe *neueSortierteListe(int info){
SortierteListe *neuesElement = new SortierteListe; neuesElement->data = info; // Besetze die Daten neuesElement->next=NULL; return neuesElement; }
struct SortierteListe *Erster = NULL, *Letzter = NULL;
int main(){ int info; cout << "Bitte daten eingeben: "; cin >> info; cout << "Daten der Liste sind: " << neueSortierteListe(info) <<endl; system("Pause"); return 0; }
|
weiß aber nicht ob das so richtig ist? kann mir jemand helfen? ich komme bei den folgenden antworten nicht weiter Dieser Post wurde am 06.01.2008 um 11:29 Uhr von FloSoft editiert. |