Guest User

Untitled

a guest
Jun 24th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.05 KB | None | 0 0
  1. def mergesort(D):
  2.  
  3.   Dsize = float(Size(D))   #tar ut längden av Listan, genom att använda funktionen Size()
  4.   print Dsize  
  5.   if Dsize <= 1:
  6.      return D
  7.   else:
  8.    left=DirectedList()     #skapar två tomma listor left och right
  9.    right=DirectedList()
  10.    middle = Dsize/2  #mellersta elementet i listan
  11.    print middle  
  12.    i=0  
  13.    D_pos=D.first()
  14.    L_pos=left.first()
  15.    R_pos=right.first()
  16.    while D.isEnd(D_pos) == False:   #sätter in alla element som är vänster om mitten i vänstra listan
  17.      if i < middle:
  18.        left.insert(L_pos,D.inspect(D_pos))
  19.        D_pos=D.next(D_pos)
  20.        i=i+1
  21.        D.isEnd(D_pos)
  22.      elif i >= middle:                #sätter in alla element som är i mitten eller till höger i listan
  23.        
  24.        right.insert(R_pos,D.inspect(D_pos))
  25.        D_pos=D.next(D_pos)
  26.        i=i+1
  27.        D.isEnd(D_pos)
  28.  
  29.  
  30.                             #skriver ut vad som finns till vänster
  31.    
  32.  
  33.    left=mergesort(left)
  34.    right=mergesort(right)
  35.    print left
  36.    print right
  37.    merge(left,right)
Add Comment
Please, Sign In to add comment