Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hjälp med Deques

Postades av 2003-07-29 11:29:53 - Johan Gunnarsson, i forum c++, Tråden har 9 Kommentarer och lästs av 750 personer

Är det någon som kan hjälpa mig med denna uppgift???

""Utveckla en klass i C++ för hantering av datastrukturer i form av deques (double-ended queues). En deque är en datastruktur med insättnings- och uttagsmöjligheter i båda ändpunkterna.

Skriv även ett huvudprogram som lagrar bokdata i datastrukturen. För varje bok registreras boktitel, författare, utgivningsår, ISBN-kod och förlag.""


//Johan


Svara

Sv: Hjälp med Deques

Postades av 2003-07-29 11:41:10 - Niklas Jansson

Har du gjort någon datastruktur innan?
Har du hajat hur denna skall fungera?

I så fall är det inte så svårt. För det första behöver du en lista av något slag. (En dubbellänkad lista är nog lämpligt.)

Sen kapslar du in den listan i en Deque-klass, som skall ha minst fyra funktioner: push_front, push_back, pop_front, pop_back.

Behöver du mer hjälp; återkom!


Svara

Sv: Hjälp med Deques

Postades av 2003-07-29 14:12:56 - Johan Gunnarsson

Ska jag vara riktigt ärlig så hajjar jag inte helt och hållet hur det ska fungera. Men jag fattar så mycket att man ska lägga in bokdatan i någon sorts kösystem, men det är just det där med deques som ställer till det för mig för jag har inte susning om vad det är för något.

//Johan ( Tacksam för all hjälp)


Svara

Sv: Hjälp med Deques

Postades av 2003-07-29 20:50:07 - Niklas Jansson

Ok...
Vet du hur en vanlig queue fungerar?
Det baseras på fifo-teknik, alltså "first in, first out", en vanlig kö.

Det sätt du använder den på är typ

intqueue myq;
myq.push(3);
myq.push(4);
myq.push(5);

myq.pop(); //returnerar 3
myq.pop(); //returnerar 4
myq.pop(); //returnerar 5
myq.pop(); //FEL!

En deque är en kö som du kan sätta in och ta bort ifrån på båda ändar. Har du hajat så långt?


Svara

Sv: Hjälp med Deques

Postades av 2003-07-29 21:45:26 - Johan Gunnarsson

Japp så långt är jag med helt och hållet. Det är sedan när jag ska översätta det till kod som det blir knasigt.

//Johan


Svara

Sv: Hjälp med Deques

Postades av 2003-07-29 22:54:57 - Niklas Jansson

Ok.

För att kunna ta bort och lägga till lätt brukar man ju ha en länkad lista, men i det här fallet vill du kunna göra det på båda ändar, så du behöver en dubbellänkad lista.

Får du lov att använda en färdig sådan utifrån problemformuleringen?
I så fall är jag ganska säker på att det finns en sån i standardbiblioteket.

Om inte så får du skriva en själv, det räcker med noder.

Hur som helst, utifrån din deque ska du kunna lägga till och ta bort noder från båda håll, så du bör som sagt ha fyra funktioner för det. För att hantera det internt är det rimligt med en pekare till sista noden och en till första.

Är du med så långt?


Svara

Sv: Hjälp med Deques

Postades av 2003-07-30 18:26:06 - Johan Gunnarsson

japp jag är med så långt. Och jag är säker på att vi får använda saker i standardbiblioteket.


Svara

Sv: Hjälp med Deques

Postades av 2003-07-30 19:32:29 - Niklas Jansson

Om vi då tänker oss din deque som något sånt här (kör med int först):


class deque
{
public:
void push_back(int a);
void push_front(int b);
int pop_front();
int pop_back();

bool empty();

private:
list<int> li;
} ;


Pga att du har en std::list så behöver du inga separata pekare. Du använder dig av
push_back och pop_back, resp. push_front och pop_front. Observera att pop-funktionerna inte returnerar något värde, utan du får använda *begin och *end, för det.

Kommer du igång lite bättre nu?


Svara

Sv: Hjälp med Deques

Postades av 2003-08-02 21:28:07 - Johan Gunnarsson

Nu har jag fått lite kött å benen så nu ska jag försöka själv. Tack så mycket för hjälpen.

//Johan


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 586
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies