Sitter och försöker mig på att sortera en cirkulär lista med bubble sort. Jag tittar hela tiden framåt och jämför elementen framför. Jag ändrar pekare för att sortera och gör ingen kopiering. Det fungerar bra att sortera alla till rätt plats förutom de två första eftersom jag aldrig tittar på den jag står på. Det verkar bli fel hur jag än gör för att sortera de två första. Det som händer är att det första elementet(efter sortering, alltså det största) hamnar sist i listan. Problemet är alltså att listan fortfarande börjar från samma element som då efter sortering blivit det andra i listan. Hoppas det inte är allt för otydligt.
Men gör så att du jämför 1 och 2. Om 2 är större än 1, byt plats och ha en int +1 som reggar att något har bytt plats. Sedan jämför du plats 2 och 3, byt om 3 är större. När du dragit igenom en gång så sätter du int räknaren till 0 igen och fortsätter att göra samma tills att den är 0 när du gått igenom allt så att inga byten behövdes göras
Ja, det blir väl sorterat men listan börjar fortfarande från samma element. Så det som borde varit först hamnar sist istället.
EDIT: Jo jag förstår ju hur själva sorteringen går till. Men listan vill ju alltid börja från det som var det första elementet från början. Så om det sorteras ner i mitten av listan så kommer listan skrivas ut som att det elementet var först.
Sorry för dubbelpost men tänkte bara meddela att dummy-elementet var det enda som behövdes. Jag började ändra på min length-funktion osv men det blev bara fel. När jag återvände till hur jag hade innan och bara lagt till dummy-element i början så blev det helt rätt.