<?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[Listen ... Probleme bei einfügen über Priorität]]></title><description><![CDATA[<p>Hallo ich habe ein Problem:<br />
Wenn ich Knoten über die Priorität einlesen lassen will klappt das auch .. bis auf eine stelle: Die 1 wird vor der 99 angezeigt, obwohl es andersrum sein sollte ^^</p>
<p>main:</p>
<pre><code class="language-csharp">#include &quot;dekl.h&quot;

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{

        Kset k2;
        k2.insert_prio(1,4);
        k2.insert_prio(5,8);
        k2.insert_prio(2,12);
        k2.insert_prio(55,2);
        k2.insert_prio(4,2);
        k2.insert_prio(99,3);
        k2.insert_prio(9,1);
        k2.insert_prio(7,40);
        k2.view_all();

        getch();
        return 0;
}
//---------------------------------------------------------------------------
</code></pre>
<p>impl:</p>
<pre><code class="language-csharp">#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;

class Kset
{
private:
        struct Knoten
        {
         int Inhalt;
         int Prior;
         Knoten *pNext;
        };

        int Anzahl;
        Knoten *pFirst;
        Knoten *pLast;

public:
        Kset();
        ~Kset();

        void insert_front(int obj);
        void insert_prio(int obj, int prio);
        void view_all();

};

#include &quot;impl.hpp&quot;
</code></pre>
<p>dekl</p>
<pre><code class="language-csharp">//Konstruktor///////////////////////////////////////////////////////////////////

Kset::Kset()
{
 Anzahl = 0;
 pFirst = pLast = NULL;
 /*Knoten *Listenkopf = new Knoten;
 Knoten *Sentinal = new Knoten;
 pFirst = Listenkopf;
 Listenkopf-&gt;pNext = Sentinal;
 Sentinal-&gt;pNext = pLast;*/
}

//Dekonstruktor/////////////////////////////////////////////////////////////////

Kset::~Kset()
{
 Knoten *ptemp = pFirst;
 for(; Anzahl&gt;0;)
 {
  pFirst = pFirst-&gt;pNext;
  delete ptemp;
  ptemp = pFirst;
  Anzahl--;
 }
}

//alles Anzeigen////////////////////////////////////////////////////////////////

void  Kset::view_all()
{
 Knoten *pTemp = pFirst;
 for(int anz=Anzahl; anz&gt;0;anz--)
 {
  cout&lt;&lt;pTemp-&gt;Inhalt&lt;&lt;&quot; &quot;;
  pTemp = pTemp-&gt;pNext;
 }
}

void Kset::insert_prio(int obj, int prio)
{
 if(Anzahl == 0)
    {
        pFirst = new Knoten;
        pFirst-&gt;Inhalt = obj;
        pFirst-&gt;Prior = prio;
        pFirst-&gt;pNext = NULL,
        pLast = pFirst;
    }
 if(prio &lt;= pFirst-&gt;Prior &amp;&amp; Anzahl != 0)
    {
        Knoten *pNew = new Knoten;
        pNew-&gt;Inhalt = obj;
        pNew-&gt;Prior = prio;
        pNew-&gt;pNext = pFirst;
        pFirst = pNew;
    }
 if(prio &gt; pFirst-&gt;Prior &amp;&amp; Anzahl != 0)
    {
        Knoten *pNew = new Knoten;
        Knoten *pTemp = pFirst;
        pNew-&gt;Inhalt = obj;
        pNew-&gt;Prior = prio;
        pNew-&gt;pNext = NULL;
        while(pNew-&gt;Prior &gt; pTemp-&gt;Prior &amp;&amp; pTemp-&gt;pNext != NULL)
           {
                pTemp=pTemp-&gt;pNext;
           }
        Knoten *pHilf = pTemp-&gt;pNext;
        pTemp-&gt;pNext = pNew;
        pNew-&gt;pNext = pHilf;
    }

Anzahl++;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/140557/listen-probleme-bei-einfügen-über-priorität</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Apr 2026 13:36:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140557.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Mar 2006 16:29:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Listen ... Probleme bei einfügen über Priorität on Wed, 15 Mar 2006 16:29:15 GMT]]></title><description><![CDATA[<p>Hallo ich habe ein Problem:<br />
Wenn ich Knoten über die Priorität einlesen lassen will klappt das auch .. bis auf eine stelle: Die 1 wird vor der 99 angezeigt, obwohl es andersrum sein sollte ^^</p>
<p>main:</p>
<pre><code class="language-csharp">#include &quot;dekl.h&quot;

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{

        Kset k2;
        k2.insert_prio(1,4);
        k2.insert_prio(5,8);
        k2.insert_prio(2,12);
        k2.insert_prio(55,2);
        k2.insert_prio(4,2);
        k2.insert_prio(99,3);
        k2.insert_prio(9,1);
        k2.insert_prio(7,40);
        k2.view_all();

        getch();
        return 0;
}
//---------------------------------------------------------------------------
</code></pre>
<p>impl:</p>
<pre><code class="language-csharp">#include &lt;iostream.h&gt;
#include &lt;conio.h&gt;

class Kset
{
private:
        struct Knoten
        {
         int Inhalt;
         int Prior;
         Knoten *pNext;
        };

        int Anzahl;
        Knoten *pFirst;
        Knoten *pLast;

public:
        Kset();
        ~Kset();

        void insert_front(int obj);
        void insert_prio(int obj, int prio);
        void view_all();

};

#include &quot;impl.hpp&quot;
</code></pre>
<p>dekl</p>
<pre><code class="language-csharp">//Konstruktor///////////////////////////////////////////////////////////////////

Kset::Kset()
{
 Anzahl = 0;
 pFirst = pLast = NULL;
 /*Knoten *Listenkopf = new Knoten;
 Knoten *Sentinal = new Knoten;
 pFirst = Listenkopf;
 Listenkopf-&gt;pNext = Sentinal;
 Sentinal-&gt;pNext = pLast;*/
}

//Dekonstruktor/////////////////////////////////////////////////////////////////

Kset::~Kset()
{
 Knoten *ptemp = pFirst;
 for(; Anzahl&gt;0;)
 {
  pFirst = pFirst-&gt;pNext;
  delete ptemp;
  ptemp = pFirst;
  Anzahl--;
 }
}

//alles Anzeigen////////////////////////////////////////////////////////////////

void  Kset::view_all()
{
 Knoten *pTemp = pFirst;
 for(int anz=Anzahl; anz&gt;0;anz--)
 {
  cout&lt;&lt;pTemp-&gt;Inhalt&lt;&lt;&quot; &quot;;
  pTemp = pTemp-&gt;pNext;
 }
}

void Kset::insert_prio(int obj, int prio)
{
 if(Anzahl == 0)
    {
        pFirst = new Knoten;
        pFirst-&gt;Inhalt = obj;
        pFirst-&gt;Prior = prio;
        pFirst-&gt;pNext = NULL,
        pLast = pFirst;
    }
 if(prio &lt;= pFirst-&gt;Prior &amp;&amp; Anzahl != 0)
    {
        Knoten *pNew = new Knoten;
        pNew-&gt;Inhalt = obj;
        pNew-&gt;Prior = prio;
        pNew-&gt;pNext = pFirst;
        pFirst = pNew;
    }
 if(prio &gt; pFirst-&gt;Prior &amp;&amp; Anzahl != 0)
    {
        Knoten *pNew = new Knoten;
        Knoten *pTemp = pFirst;
        pNew-&gt;Inhalt = obj;
        pNew-&gt;Prior = prio;
        pNew-&gt;pNext = NULL;
        while(pNew-&gt;Prior &gt; pTemp-&gt;Prior &amp;&amp; pTemp-&gt;pNext != NULL)
           {
                pTemp=pTemp-&gt;pNext;
           }
        Knoten *pHilf = pTemp-&gt;pNext;
        pTemp-&gt;pNext = pNew;
        pNew-&gt;pNext = pHilf;
    }

Anzahl++;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1016942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1016942</guid><dc:creator><![CDATA[Mr. Blonde]]></dc:creator><pubDate>Wed, 15 Mar 2006 16:29:15 GMT</pubDate></item></channel></rss>