#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
typedef struct listnode{
int data;
listnode *next;
};
listnode *head=NULL;
void vorneeinhaengen(int n)
{
for(int i=0;i<n;i++)
{
listnode *node = new listnode; //Anlegen eines neuen Knotens
cout << "Wert eingeben: ";
cin >> node->data; //Daten in den Knoten übernehmen
node->next=head; //Zeiger node->next zeigt auf ersten Knoten
head=node; //Listenkopf ist der neue Kneten
}
}
void listeausgeben()
{
listnode *h=NULL; //Hilfszeiger
h=head; //der auf den Kopf der Liste zeigt.
while (h!=NULL) //Solange Hilfszeiger nicht auf NULL zeig
{
cout << h->data << " -> ";
h=h->next;
}
}
int anzahlelemente()
{
int anzahl=0;
listnode *h=NULL;
h=head;
while(h!=NULL)
{
anzahl++;
h=h->next;
}
return anzahl;
}
int main(int argc, char** argv) {
int anzahl=0;
cout << "Einfach verkettete Liste\n";
cout << "Geben Sie an, wie viele Elemente Sie einhaengen wollen: ";
cin >> anzahl;
vorneeinhaengen(anzahl);
cout << "Ausgabe der Liste\n";
listeausgeben();
cout << "Die Anzahl aller Elemente betraegt: " << anzahlelemente();
return 0;
}