Egyszerű beillesztéses rendezés

Legjobban a kártyaosztás utáni lapfelvétellel szemléltethető a módszer. Az asztalról egyesével vesszük fel a leosztott lapokat, és megkeressük a helyét a kezünkben lévő, már rendezett sorban.

Az adat.csv legyen a következő:

1,5,65,13,46,36,23,76,87,99,27,49,32,95,48,33,66,45,88,11

A smpinssort.py pedig a következő:

#!/user/bin/python
import sys
#tömbelemek felolvasása
fp = open("adat.csv")
s1 = fp.readline()
fp.close();
tomb = s1.split(",")
#tömbelemek számokká alakítása
for i in range(len(tomb)):
    tomb[i]=int(tomb[i])
#rendezés
for y in range(1,len(tomb)):
    x=y-1
    seged=tomb[y]
    while (x>0 and seged<tomb[x]):
        tomb[x+1]=tomb[x]
        x-=1        
    tomb[x+1]=seged
 
print tomb

A program futtatásának eredménye

$ python smpinssort.py
[1, 5, 11, 13, 23, 27, 32, 33, 36, 45, 46, 48, 49, 65, 66, 76, 87, 88, 95, 99]