[ create a new paste ] login | about

Project: programmingpraxis
Link: http://programmingpraxis.codepad.org/fj6Tu4j9    [ raw code | fork ]

Python, pasted on May 4:
import sys
import random

def isodd(num):
    return bool(num & 1)

def parteo(a):
    even = 0
    odd = len(a) - 1
    while even < odd:
        if isodd(a[even]):
            if isodd(a[odd]):
                odd = odd-1
            else:
                t = a[odd]
                a[odd] = a[even]
                a[even] = t
                even = even + 1
                odd = odd - 1
        else:
            even = even + 1
    return a
        
def val_parteo(a):
    in_odd = False
    for idx in range(len(a)):
        if isodd(a[idx]):
            in_odd = True;
        elif in_odd:
            return idx
    return -1

def gen_arr(size):
    a=[]
    for idx in range(size):
        a.append(random.randint(1,1000))
    return a

def check_alg():
    for size in range(1,20):
        for tst in range(1,5):
            arr = gen_arr(size);
            print ">",arr
            part = parteo(arr[:]);
            print "<",part
            bad_idx = val_parteo(part);
            if bad_idx != -1:
                print "Bug found", arr, "\n", part, "\nError at", idx 

check_alg()
print "Finished"


Create a new paste based on this one


Comments: