<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Eingeleses Wort aus einer Datei in eine verkettete Liste]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss für mein Studium ein Programm schreiben, welches eine txt Datei öffnet und Wort weise ausliest und dann die Wörter in eine einfach verkettet Liste hängt und die Häufigkeit der Wörter zählt.</p>
<p>Ich bin nun schon länger Zeit am Grübeln, wie ich diese Liste aufbauen könnte, komme aber auf keinen funktionieren Vorschlag (ich sammle erst seit Oktober Programmier Erfahrungen).<br />
Könnte mir jemand einen Vorschlag oder Gedankenanstoß geben? Wortweißes einlesen aus der Datei stellt für mich kein Problem dar aber die verkettete Liste.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/111294/eingeleses-wort-aus-einer-datei-in-eine-verkettete-liste</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 17:25:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/111294.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 May 2005 15:40:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eingeleses Wort aus einer Datei in eine verkettete Liste on Mon, 30 May 2005 15:40:35 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss für mein Studium ein Programm schreiben, welches eine txt Datei öffnet und Wort weise ausliest und dann die Wörter in eine einfach verkettet Liste hängt und die Häufigkeit der Wörter zählt.</p>
<p>Ich bin nun schon länger Zeit am Grübeln, wie ich diese Liste aufbauen könnte, komme aber auf keinen funktionieren Vorschlag (ich sammle erst seit Oktober Programmier Erfahrungen).<br />
Könnte mir jemand einen Vorschlag oder Gedankenanstoß geben? Wortweißes einlesen aus der Datei stellt für mich kein Problem dar aber die verkettete Liste.</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/799122</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/799122</guid><dc:creator><![CDATA[David-G]]></dc:creator><pubDate>Mon, 30 May 2005 15:40:35 GMT</pubDate></item><item><title><![CDATA[Reply to Eingeleses Wort aus einer Datei in eine verkettete Liste on Mon, 30 May 2005 16:22:19 GMT]]></title><description><![CDATA[<p>Hallo,<br />
muss es denn unbedingt eine Liste sein? Eine std::map&lt;std::string, int&gt; wäre hier sicher besser geeignet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/799156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/799156</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Mon, 30 May 2005 16:22:19 GMT</pubDate></item><item><title><![CDATA[Reply to Eingeleses Wort aus einer Datei in eine verkettete Liste on Mon, 30 May 2005 17:02:01 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/110">@humesikkins</a>: vielleicht ist die aufgabenstellung ja so...<br />
aber schlussendlich ist es ja egal, listen kann man immer wieder verwenden. zu den listen: man braucht erstens ein struct für die knotenelemente:</p>
<pre><code class="language-cpp">typedef struct NodeItem {
	char *pszData; // zeiger auf den text
	NodeItem *pNext; // zeiger auf das nächste element
} NODEITEM, *PNODEITEM;
</code></pre>
<p>dann brauchst du einen zeiger auf das erste element:</p>
<pre><code class="language-cpp">NODEITEM FirstElement = new NODEITEM;
</code></pre>
<p>nächstens würde ich auch noch ein letztes element erstellen, das ebenfalls keine daten enthält und in pNext permanent einen NULL-zeiger hat.</p>
<pre><code class="language-cpp">NODEITEM FirstElement-&gt;pNext = new NODEITEM;
FirstElement-&gt;pNext-&gt;pNext = NULL;
</code></pre>
<p>falls du jetzt ein neues element hinzufügen musst, machst du das einfach so ähnlich wie</p>
<pre><code class="language-cpp">NODEITEM NewElement = new NODEITEM;
NewElement-&gt;pszData = pszDeinText;
</code></pre>
<p>naja, und um NewElement-&gt;pNext zu füllen musst du jetzt wohl oder übel mit einer schleife die ganze kette ablaufen bis du bei</p>
<pre><code class="language-cpp">CurrentElement-&gt;pNext-&gt;pNext
</code></pre>
<p>eine NULL findest. (einfacher wäre es mit einer doppelt verketteten liste) dort kannst du dann dein neues element einsetzen:</p>
<pre><code class="language-cpp">NewElement-&gt;pNext = CurrentElement-&gt;pNext;
CurrentElement-&gt;pNext = NewElement;
</code></pre>
<p>falls du die wörter in alphabetischer reihenfolge haben musst, dann könntest du an dieser stelle auch noch etwas mit strcmp basteln. weiterhin könntest du im struct auch einen zähler für das vorkommen der unterschiedlichen wörter einbauen, den du bei strcmp(...)==0 einfach inkrementierst ohne ein neues element zu erstellen...</p>
<p>vom auslesen her sieht es dann wieder ähnlich aus. übrigens kann man am ende der kette statt auf ein letztes element wieder auf das erste element verweisen. ach ja, und wenn du die daten im element speicherst, würde ich dort unbedingt mit &quot;new&quot; speicher reservieren und den string mit memcpy o.ä. reinkopieren - sonst hast du irgendwann mal mehrere zeiger auf den gleichen text oder so <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> naja, das ganze in eine klasse, die die speicherverwaltung übernimmt, und fertig...</p>
<p>mfg<br />
puenktli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/799181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/799181</guid><dc:creator><![CDATA[Puenktli]]></dc:creator><pubDate>Mon, 30 May 2005 17:02:01 GMT</pubDate></item></channel></rss>