Programmera spel i C++ för nybörjare/C++ referenser online/länkad lista i C++ för nybörjare
// Exempel på enkelriktad länkad lista // Enda saken som syns och sparas är "name" #include "stdafx.h" #include <iostream> #include <string> using namespace std; class node { public: string name; //namnet som skall sparas node *next; //Pekare till nästa post i kön node(string aName) //Konstruktor { name = aName; //namnet som matas in vid new next = NULL; //Finns ingen efter om den läggs sist } }; int _tmain(int argc, _TCHAR* argv[]) { node *root = NULL; //första noden i listan node *p_node; // pekare som går fram och tillbaka i nod kön node *new_node; // pekare till ny nod string a_name; //namnet som skall in while (true) { //Så länge man inte aktiverat "break" cout << "Skriv in ett namn (eller ENTER för att avbryta): "; getline (cin, a_name); //a_name skrivs in if (a_name.empty()) //Om det är en sträng utan bokstäver break; //while blir false new_node = new node(a_name); //finns text skapas en ny nod //Om listan är ny eller noden är den första, //sätts den in som root nod, annars: //sök efter sista noden i listan och placera in den efteråt if (root == NULL || (a_name < root->name)) { new_node->next = root; //Placeras som första noden = root root = new_node; //new_node skapas som försdta medlemmen i kön. } else //det finns mer än en nod i listan { //else new_node->next = p_node->next; //Gå till nästa p_node->next = new_node; } //slut else } //slut while true p_node = root; // Skriv ut alla noderna från första posten while (p_node) //Så länge det finns noder { cout << p_node->name << endl; //skriv ut namnet p_node = p_node->next; //Gå till nästa } return 0; }