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


Struct sortering med bubblesort

Postades av 2004-10-28 20:37:35 - Jan Ljungkvist, i forum c++, Tråden har 7 Kommentarer och lästs av 1005 personer

Undrar om någon kan informera hur man sorterar i en struct.

Jag har array[antal].namn och array[antal].försök i samma struct.
Och jag vill sortera efter försök, och kunna skriva ut det sedan.
Är det någon vänlig själ som kan detta?

Mvh
Jan


Svara

Sv: Struct sortering med bubblesort

Postades av 2004-10-28 23:03:39 - Per Persson

Om jag förstår rätt:

for(int i=0; i<antal-1; i++)
    for(int j=i+1; j<antal; j++)
        if(array[i].försök > array[j].försök)
            swap(array[i].försök, array[j].försök);

for(int i=0; i<antal; i++)
    cout << array[i].namn << '\t' << array[i].försök << endl;


Svara

Sv: Struct sortering med bubblesort

Postades av 2004-10-29 07:39:02 - Simon Dahlbacka

Antagligen vill han väl swappa hela structarna och inte bara försökmembern, så nåt sånt här borde väl vara bättre.

for(int i=0; i<antal-1; i++)
    for(int j=i+1; j<antal; j++)
        if(array[i].försök > array[j].försök)
            swap(array[i], array[j]);

for(int i=0; i<antal; i++)
    cout << array[i].namn << '\t' << array[i].försök << endl;


Svara

Sv: Struct sortering med bubblesort

Postades av 2004-10-29 09:17:21 - Per Persson

Självklart... Hade litet för bråttom där...


Svara

Sv: Struct sortering med bubblesort

Postades av 2004-10-30 12:18:24 - Per Malmén

Tänkte bara tillägga att bubblesort bara ska användas för små datamängder eller för data som redan är i nästan rätt ordning.
För slumpmässiga data har bubblesort en körtid på O(n^2)


Svara

Sv: Struct sortering med bubblesort

Postades av 2004-10-30 12:48:03 - Niklas Jansson

Tja... i o m att man naturligtvis använder den inbyggda funktionen sort, så spelar det ju ingen roll, det här verkar vara för att frågeskrivaren vill lära sig principer.


Svara

Sv: Struct sortering med bubblesort

Postades av 2004-10-31 17:02:01 - Per Malmén

Naturligtvis ska man använda std's sort men jag tänkte bara krydda inlärningen av principerna med lite nyttig teori. Jag sa aldrig att det var fel att använda bubble sort för att lära sig.


Svara

Sv: Struct sortering med bubblesort

Postades av 2004-11-03 00:54:30 - Micael Dahlquist

Alltså, det är väl sådär man INTE gör bubbelsort. Iofs har jag sett det flera gånger tidigare, men jag fick - en gång i tiden - lära mig att man gör typ såhär:

int i;
int flag=1;

while(flag==1) {
flag=0;

for(i=0;i<antal-1;i++) {
if(array[i].försök > array[i+1].försök) {
swap(array[i], array[i+1]);
flag=1;
}
}

Trots denna ändring är bubbelsort fortfarande långsam, men den är lätt att lära sig (och förstå) iaf. Alltså man går igenom hela array:en för att se om man kan göra (minst) ett byte och om man gjort det så måste man köra ett varv till.

För att skydda sig mot oändliga loopar (pga fel i koden eller månens fas) kan man förstås lägga till en räknare som gör att man hoppar ut tidigare så det aldrig blir fler varv än tidigare nämda kodexempel.


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 616
27 953
271 709
5 679
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