Binary Search, Linear Search, Selection Sort and Bubble sort Python Menu Program



#MENU PROGRAM

 #Selection Sort

from random import *

def SelectionSort():

    arr=[]

    n=int(input("Enter Size of Array"))

    arr=[n]

    for i in range(n):

        x=randint(0,50)

        arr.append(x)

    print("List to Sort : ",print(arr))

    for i in range(n):

        p=i

        for j in range(i,n+1):

            if arr[p]>arr[j]:

                arr[p],arr[j]=arr[j],arr[p]

    print("Your Sorted Array Looks Like ",(arr))


#Bubble Sort

def BubbleSort():

    arr=[]

    n=int(input("Enter Size of Array"))

    arr=[n]

    for i in range(n):

        x=randint(0,50)

        arr.append(x)

    print("List to Sort : ",print(arr))

    for i in range(n):

        for j in range(n):

            if arr[j]>arr[j+1]:

                arr[j],arr[j+1]=arr[j+1],arr[j]

    print(arr)

    

def menu():

    print("0.Exit")

    print("1.Selection Sort")

    print("2.Bubble Sort")

    print("3.Linear Search")

    print("4.Binary Search")

    ch=int(input("Enter Choice : "))

    return ch


#Linear Search

def LinearSearch():

    arr=[]

    n=int(input("Enter Size of Array"))

    arr=[n]

    for i in range(n):

        x=randint(0,50)

        arr.append(x)

    src=int(input("Enter Value to Search : "))

    for i in range(n):

        if src==arr[i]:

            print("Element Found...")

            print("@ Position Number : ",i+1)

            break

        else:

            print("Element Not Found")


#Binary Search

def BinarySearch():

    arr=[]

    n=int(input("Enter Size of Array : "))

    arr=[n]

    for i in range(n):

        x=randint(0,50)

        arr.append(x)

    print("List to Search : ",arr)

    for i in range(n):

        p=i

        for j in range(i,n+1):

            if arr[p]>arr[j]:

                arr[p],arr[j]=arr[j],arr[p]

    src=int(input("Enter Element to Search : "))

    sz=int(n/2)

    lst=n-1

    fst=0

    z=0

    mid=(fst+lst)//2

    Found=False

    while fst<=lst and not Found:

        mid=(fst+lst)//2

        if src==arr[mid]:

            Found=True

        elif src>arr[mid]:

            fst=mid+1

        else:

            lst=mid-1

    if Found==True:

        print("Search Found")

    else:

        print("Search Not Found ")



ch=None

while ch!=0:

    ch=menu()

    if ch==1:

        SelectionSort()

    if ch==2:

        BubbleSort()

    if ch==3:

        LinearSearch()

    if ch==4:

        BinarySearch()


Comments