

{"id":146777,"date":"2025-09-05T12:03:21","date_gmt":"2025-09-05T06:33:21","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=146777"},"modified":"2025-09-05T12:03:21","modified_gmt":"2025-09-05T06:33:21","slug":"searching-and-sorting-algorithms-in-dsa-python","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/","title":{"rendered":"Searching and Sorting Algorithms in DSA Python"},"content":{"rendered":"<h3>Program 1<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\"># Implementation of single linked list\r\nimport os\r\nclass Node:\r\n    def __init__(self):\r\n        self.data=None\r\n        self.add=None\r\n\r\nclass LinkedList:\r\n    def __init__(self):\r\n        self.start=None\r\n        self.count=0\r\n\r\n    def create(self):\r\n        n=int(input(\"Enter First element: \"))    \r\n        self.start=Node()\r\n        self.start.data=n\r\n        self.start.add=None\r\n        self.temp=self.start\r\n        self.count=self.count+1\r\n        ch=input(\"Wan to continue(Y\/y): \")\r\n        while(ch=='y' or ch=='Y'):\r\n            self.count=self.count+1\r\n            n=int(input(\"Enter next element: \"))    \r\n            newnode=Node()\r\n            newnode.data=n   # assign data to new node\r\n            newnode.add=None # assign address to new node\r\n            self.temp.add=newnode \r\n            self.temp=self.temp.add\r\n            ch=input(\"Wan to continue(Y\/y): \")\r\n\r\n    def display(self):\r\n        if(self.start==None):\r\n            print(\"List is empty\")\r\n        else:    \r\n            print(\"Elements of List: \")      \r\n            self.temp=self.start\r\n            while(self.temp!=None):\r\n                print(self.temp.data,end=\"  \")\r\n                self.temp=self.temp.add\r\n\r\n            print(\"\\n Total Node is : \",self.count)                    \r\n\r\n    def insertFirst(self):\r\n        if(self.start==None):\r\n            print(\"List is empty\")\r\n        else:\r\n            self.count=self.count+1\r\n            n=int(input(\"Enter an element for insert: \"))            \r\n            newnode=Node()\r\n            newnode.data=n\r\n            newnode.add=None\r\n            newnode.add=self.start\r\n            self.start=newnode\r\n\r\n    def insertMiddle(self):  \r\n        if(self.start==None):\r\n            print(\"List is empty\")\r\n        else:\r\n            self.count=self.count+1\r\n            n=int(input(\"Enter an element for insert: \"))            \r\n            newnode=Node()\r\n            newnode.data=n\r\n            pos=int(input(\"Enter node position for insert:  \"))      \r\n            i=1\r\n            next=self.start\r\n            while(i&lt;pos): \r\n                prev=next\r\n                next=next.add\r\n                i=i+1\r\n            prev.add=newnode\r\n            newnode.add=next\r\n\r\n\r\n    def insertLast(self):     \r\n        if(self.start==None):\r\n            print(\"List is empty\")\r\n        else:\r\n            self.count=self.count+1\r\n            n=int(input(\"Enter an element for insert: \"))            \r\n            newnode=Node()\r\n            newnode.data=n\r\n            last=self.start\r\n            while(last.add!=None):\r\n                last=last.add \r\n            last.add=newnode                  \r\n\r\n    def deleteFirst(self):\r\n        if(self.start==None):\r\n            print(\"List is empty\")\r\n        else:\r\n            self.count=self.count-1\r\n            self.temp=self.start\r\n            self.start=self.start.add\r\n            print(\"Deleted node is : \",self.temp.data)\r\n            del self.temp\r\n\r\n\r\n    def deleteMiddle(self):\r\n         if(self.start==None):\r\n            print(\"List is empty\")\r\n         else:\r\n            self.count=self.count-1\r\n            i=1\r\n            pos=int(input(\"Enter node position for delete: \"))\r\n            next=self.start\r\n            while(i&lt;pos):\r\n                prev=next\r\n                next=next.add\r\n                i=i+1\r\n\r\n            self.temp=next\r\n            next=next.add  \r\n\r\n            prev.add=next\r\n            print(\"Deleted node is : \",self.temp.data)  \r\n            del self.temp\r\n            \r\n\r\n    def deleteLast(self):\r\n        if(self.start==None):\r\n            print(\"List is empty\")\r\n        else:\r\n            self.count=self.count-1\r\n            self.temp=self.start\r\n            while(self.temp.add!=None):\r\n                   last=self.temp\r\n                   self.temp=self.temp.add\r\n\r\n            print(\"Deleted Node is : \",self.temp.data)                   \r\n            last.add=None\r\n            del self.temp\r\n            self.temp=None\r\n\r\n    def countNode(self):\r\n        if(self.start==None):\r\n            print(\"List is empty\")\r\n        else:\r\n            print(\"Total Node is : \",self.count)\r\n\r\n    def sortList(self):\r\n        if(self.start==None):\r\n            print(\"List is empty\")\r\n        else:\r\n            prev=self.start\r\n            while(prev!=None):  # Outer\r\n                 next=prev.add\r\n                 while(next!=None):    # Inner \r\n                    if(next.data&lt;prev.data):\r\n                        prev.data,next.data=next.data,prev.data   # Swaping \r\n                    next=next.add\r\n                 prev=prev.add                        \r\n\r\n\r\n\r\n    def searchData(self):\r\n        if(self.start==None):\r\n            print(\"List is empty\")\r\n        else:\r\n            s=int(input(\"Enter an element for search: \"))\r\n            temp=self.start\r\n            flag=False\r\n            while(temp!=None):\r\n                if(temp.data==s):\r\n                    flag=True\r\n                    break\r\n                temp=temp.add\r\n\r\n\r\n            if(flag==True):\r\n                print(\"Searching success\")                    \r\n            else:\r\n                print(\"Searching not success\")                    \r\n\r\n                \r\n\r\n\r\n        \r\n\r\n\r\n# Main\r\nos.system('cls')\r\nmylist=LinkedList()\r\nwhile(1):\r\n    print(\"\\n --------------------Linked List------------------------\")\r\n    print(\"1. Create\")\r\n    print(\"2. Display\")\r\n    print(\"3. Insert First\")\r\n    print(\"4. Insert Middle\")\r\n    print(\"5. Insert Last\")\r\n    print(\"6. Delete First \")\r\n    print(\"7. Delete Middle \")\r\n    print(\"8. Delete Last \")\r\n    print(\"9. Count Node \")\r\n    print(\"10. Searching\")\r\n    print(\"11.Sorting\")\r\n    print(\"12. Exit\")\r\n    print(\"---------------------------------------------------------\")\r\n    choice=int(input(\"Enter your choice: \"))\r\n    if(choice==1):\r\n        mylist.create()\r\n    elif(choice==2):\r\n        mylist.display()\r\n    elif(choice==3):\r\n        mylist.insertFirst()        \r\n    elif(choice==4):\r\n        mylist.insertMiddle()            \r\n    elif(choice==5):\r\n        mylist.insertLast()            \r\n    elif(choice==6):\r\n        mylist.deleteFirst()\r\n    elif(choice==7):\r\n        mylist.deleteMiddle()\r\n    elif(choice==8):\r\n        mylist.deleteLast()    \r\n    elif(choice==9):\r\n        mylist.countNode()     \r\n    elif(choice==10):\r\n        mylist.searchData()            \r\n    elif(choice==11):\r\n        mylist.sortList()\r\n        \r\n    else:\r\n        break                \r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Program 1 # Implementation of single linked list import os class Node: def __init__(self): self.data=None self.add=None class LinkedList: def __init__(self): self.start=None self.count=0 def create(self): n=int(input(&#8220;Enter First element: &#8220;)) self.start=Node() self.start.data=n self.start.add=None self.temp=self.start self.count=self.count+1 ch=input(&#8220;Wan&#46;&#46;&#46;<\/p>\n","protected":false},"author":581,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32847],"tags":[32853,32922,32923,35215,35217,35220,35216,35219,35214,35218],"class_list":["post-146777","post","type-post","status-publish","format-standard","hentry","category-dsa-python-tutorials","tag-dsa-python","tag-dsa-python-practical","tag-dsa-python-program","tag-dsa-python-searching-and-sorting","tag-searching-algorithms-in-dsa-python","tag-searching-and-sorting-algorithms","tag-searching-and-sorting-algorithms-in-dsa-python","tag-searching-and-sorting-algorithms-in-python","tag-searching-and-sorting-in-dsa-python","tag-sorting-algorithms-in-dsa-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Searching and Sorting Algorithms in DSA Python - DataFlair<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Searching and Sorting Algorithms in DSA Python - DataFlair\" \/>\n<meta property=\"og:description\" content=\"Program 1 # Implementation of single linked list import os class Node: def __init__(self): self.data=None self.add=None class LinkedList: def __init__(self): self.start=None self.count=0 def create(self): n=int(input(&quot;Enter First element: &quot;)) self.start=Node() self.start.data=n self.start.add=None self.temp=self.start self.count=self.count+1 ch=input(&quot;Wan&#046;&#046;&#046;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-05T06:33:21+00:00\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Searching and Sorting Algorithms in DSA Python - DataFlair","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/","og_locale":"en_US","og_type":"article","og_title":"Searching and Sorting Algorithms in DSA Python - DataFlair","og_description":"Program 1 # Implementation of single linked list import os class Node: def __init__(self): self.data=None self.add=None class LinkedList: def __init__(self): self.start=None self.count=0 def create(self): n=int(input(\"Enter First element: \")) self.start=Node() self.start.data=n self.start.add=None self.temp=self.start self.count=self.count+1 ch=input(\"Wan&#46;&#46;&#46;","og_url":"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2025-09-05T06:33:21+00:00","author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/c187795dc82ab948373cca526df7c445"},"headline":"Searching and Sorting Algorithms in DSA Python","datePublished":"2025-09-05T06:33:21+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/"},"wordCount":9,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"keywords":["dsa python","dsa python practical","dsa python program","dsa python searching and sorting","searching algorithms in dsa python","searching and sorting algorithms","searching and sorting algorithms in dsa python","searching and sorting algorithms in python","searching and sorting in dsa python","sorting algorithms in dsa python"],"articleSection":["DSA using Python Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/","url":"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/","name":"Searching and Sorting Algorithms in DSA Python - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"datePublished":"2025-09-05T06:33:21+00:00","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/searching-and-sorting-algorithms-in-dsa-python\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"DSA using Python Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/dsa-python-tutorials\/"},{"@type":"ListItem","position":3,"name":"Searching and Sorting Algorithms in DSA Python"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/c187795dc82ab948373cca526df7c445","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2302ebc438084d2f1f993edc1996a0aae01332e81f3227cba8df0c48ec010ca4?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team provides high-impact content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. We make complex concepts easy to grasp, helping learners of all levels succeed in their tech careers.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam6\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/146777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/581"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=146777"}],"version-history":[{"count":2,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/146777\/revisions"}],"predecessor-version":[{"id":146787,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/146777\/revisions\/146787"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=146777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=146777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=146777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}