{"id":1811,"date":"2020-06-11T18:18:37","date_gmt":"2020-06-11T18:18:37","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=1811"},"modified":"2022-03-30T22:59:48","modified_gmt":"2022-03-30T22:59:48","slug":"quick-sort","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/quick-sort\/","title":{"rendered":"QUICK SORT"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png\" alt=\"\" \/><\/p>\n<h3>Concepts Used<\/h3>\n<blockquote>\n<p>Qucik sort.<\/p>\n<\/blockquote>\n<h3>Difficulty Level<\/h3>\n<blockquote>\n<p>Hard.<\/p>\n<\/blockquote>\n<h3>Problem Statement :<\/h3>\n<blockquote>\n<p>You are given a pointer to the head of a linked list. Now the length of the linked list is N.You are asked to form the linked list and then perform a quick sort on the list.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/mycode.prepbytes.com\/problems\/linked-list\/QUISORT\" title=\"Go to mycode.prepbytes.com\" target=\"_blank\" rel=\"noopener noreferrer\"><u><strong><\/strong><\/u><\/a><\/p>\n<h4>Example:<\/h4>\n<pre><code>1\n5 \n3 2 1 4 5\n\n1 2 3 4 5<\/code><\/pre>\n<h3>EXPLANATION:<\/h3>\n<blockquote>\n<p>In this method the main idea is to swap pointers rather than swaping data.<\/p>\n<\/blockquote>\n<ol>\n<li>\n<p><strong>Partition:<\/strong><br \/>\nTake the last element as the pivot.Traverse through the list and move the node after the tail if it has value greater than the pivot.Else leave it in the same position.<\/p>\n<\/li>\n<li>\n<p><strong>QuickSort:<\/strong><\/p>\n<blockquote>\n<p>Call partition(),which places the pivot at the right position and returns the pivot.Find the tail node of the left side and recur for left list.Now recur for the right list.<\/p>\n<\/blockquote>\n<\/li>\n<\/ol>\n<h3>SOLUTIONS:<\/h3>\n<p>\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_1812 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_1812 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_1812 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_1812 .wpsm_nav-tabs > li.active > a, #tab_container_1812 .wpsm_nav-tabs > li.active > a:hover, #tab_container_1812 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_1812 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_1812 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_1812 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_1812 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_1812 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_1812 .wpsm_nav-tabs > li > a:hover , #tab_container_1812 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_1812 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_1812 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_1812 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_1812 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_1812 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_1812 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_1812 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1812 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_1812 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1812 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_1812 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_1812\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_1812\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_1812_1\" aria-controls=\"tabs_desc_1812_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C++<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_1812_2\" aria-controls=\"tabs_desc_1812_2\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_1812_3\" aria-controls=\"tabs_desc_1812_3\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>JAVA<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_1812\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_1812_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"cpp\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include &amp;lt;iostream&amp;gt; \r\n#include &amp;lt;cstdio&amp;gt; \r\nusing namespace std; \r\n\r\nstruct Node \r\n{ \r\n    int data; \r\n    struct Node *next; \r\n}; \r\nvoid push(struct Node** head_ref, int new_data) \r\n{ \r\n    struct Node* new_node = new Node; \r\n\r\n    new_node-&amp;gt;data = new_data; \r\n    new_node-&amp;gt;next = (*head_ref); \r\n\r\n    (*head_ref) = new_node; \r\n} \r\n\r\nvoid printList(struct Node *node) \r\n{ \r\n    while (node != NULL) \r\n    { \r\n        printf(\"%d \", node-&amp;gt;data); \r\n        node = node-&amp;gt;next; \r\n    } \r\n    printf(\"&#92;n\"); \r\n} \r\nstruct Node *getTail(struct Node *cur) \r\n{ \r\n    while (cur != NULL &amp;amp;&amp;amp; cur-&amp;gt;next != NULL) \r\n        cur = cur-&amp;gt;next; \r\n    return cur; \r\n} \r\nstruct Node *partition(struct Node *head, struct Node *end, \r\n                    struct Node **newHead, struct Node **newEnd) \r\n{ \r\n    struct Node *pivot = end; \r\n    struct Node *prev = NULL, *cur = head, *tail = pivot; \r\n    while (cur != pivot) \r\n    { \r\n        if (cur-&amp;gt;data &amp;lt; pivot-&amp;gt;data) \r\n        { \r\n            if ((*newHead) == NULL) \r\n                (*newHead) = cur; \r\n\r\n            prev = cur;  \r\n            cur = cur-&amp;gt;next; \r\n        } \r\n        else \r\n        { \r\n            if (prev) \r\n                prev-&amp;gt;next = cur-&amp;gt;next; \r\n            struct Node *tmp = cur-&amp;gt;next; \r\n            cur-&amp;gt;next = NULL; \r\n            tail-&amp;gt;next = cur; \r\n            tail = cur; \r\n            cur = tmp; \r\n        } \r\n    } \r\n    if ((*newHead) == NULL) \r\n        (*newHead) = pivot; \r\n    (*newEnd) = tail; \r\n    return pivot; \r\n} \r\nstruct Node *quickSortRecur(struct Node *head, struct Node *end) \r\n{ \r\n    \/\/ base condition \r\n    if (!head || head == end) \r\n        return head; \r\n\r\n    Node *newHead = NULL, *newEnd = NULL; \r\n    struct Node *pivot = partition(head, end, &amp;amp;newHead, &amp;amp;newEnd); \r\n    if (newHead != pivot) \r\n    { \r\n        struct Node *tmp = newHead; \r\n        while (tmp-&amp;gt;next != pivot) \r\n            tmp = tmp-&amp;gt;next; \r\n        tmp-&amp;gt;next = NULL; \r\n        newHead = quickSortRecur(newHead, tmp); \r\n        tmp = getTail(newHead); \r\n        tmp-&amp;gt;next = pivot; \r\n    } \r\n    pivot-&amp;gt;next = quickSortRecur(pivot-&amp;gt;next, newEnd); \r\n\r\n    return newHead; \r\n} \r\nvoid quickSort(struct Node **headRef) \r\n{ \r\n    (*headRef) = quickSortRecur(*headRef, getTail(*headRef)); \r\n    return; \r\n} \r\nint main() \r\n{ int t;cin&amp;gt;&amp;gt;t;\r\nwhile(t--)\r\n{\r\n  int n;cin&amp;gt;&amp;gt;n;\r\n  int x[n];\r\n  for(int i=0;i&amp;lt;n;i++)cin&amp;gt;&amp;gt;x[i];\r\n  struct Node *a = NULL; \r\n  for(int i=n-1;i&amp;gt;=0;i--)\r\n  push(&amp;amp;a,x[i]);\r\n  quickSort(&amp;amp;a);\r\n  printList(a); \r\n}\r\n    return 0; \r\n} \r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_1812_2\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"c\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include &amp;lt;iostream&amp;gt; \r\n#include &amp;lt;cstdio&amp;gt; \r\nusing namespace std; \r\n\r\nstruct Node \r\n{ \r\n    int data; \r\n    struct Node *next; \r\n}; \r\nvoid push(struct Node** head_ref, int new_data) \r\n{ \r\n    \/* allocate node *\/\r\n    struct Node* new_node; \r\n    new_node=(struct Node *)malloc(sizeof(struct Node));\r\n\r\n    \/* put in the data *\/\r\n    new_node-&amp;gt;data = new_data; \r\n\r\n    \/* link the old list off the new node *\/\r\n    new_node-&amp;gt;next = (*head_ref); \r\n\r\n    \/* move the head to point to the new node *\/\r\n    (*head_ref) = new_node; \r\n} \r\nvoid printList(struct Node *node) \r\n{ \r\n    while (node != NULL) \r\n    { \r\n        printf(\"%d \", node-&amp;gt;data); \r\n        node = node-&amp;gt;next; \r\n    } \r\n    printf(\"&#92;n\"); \r\n} \r\nstruct Node *getTail(struct Node *cur) \r\n{ \r\n    while (cur != NULL &amp;amp;&amp;amp; cur-&amp;gt;next != NULL) \r\n        cur = cur-&amp;gt;next; \r\n    return cur; \r\n} \r\n\r\nstruct Node *partition(struct Node *head, struct Node *end, \r\n                    struct Node **newHead, struct Node **newEnd) \r\n{ \r\n    struct Node *pivot = end; \r\n    struct Node *prev = NULL, *cur = head, *tail = pivot; \r\n\r\n    while (cur != pivot) \r\n    { \r\n        if (cur-&amp;gt;data &amp;lt; pivot-&amp;gt;data) \r\n        { \r\n            if ((*newHead) == NULL) \r\n                (*newHead) = cur; \r\n\r\n            prev = cur;  \r\n            cur = cur-&amp;gt;next; \r\n        } \r\n        else \r\n        { \r\n            if (prev) \r\n                prev-&amp;gt;next = cur-&amp;gt;next; \r\n            struct Node *tmp = cur-&amp;gt;next; \r\n            cur-&amp;gt;next = NULL; \r\n            tail-&amp;gt;next = cur; \r\n            tail = cur; \r\n            cur = tmp; \r\n        } \r\n    } \r\n    if ((*newHead) == NULL) \r\n        (*newHead) = pivot; \r\n    (*newEnd) = tail; \r\n\r\n    return pivot; \r\n} \r\nstruct Node *quickSortRecur(struct Node *head, struct Node *end) \r\n{ \r\n    \/\/ base condition \r\n    if (!head || head == end) \r\n        return head; \r\n\r\n    Node *newHead = NULL, *newEnd = NULL; \r\n    struct Node *pivot = partition(head, end, &amp;amp;newHead, &amp;amp;newEnd); \r\n    if (newHead != pivot) \r\n    { \r\n        \/\/ Set the node before the pivot node as NULL \r\n        struct Node *tmp = newHead; \r\n        while (tmp-&amp;gt;next != pivot) \r\n            tmp = tmp-&amp;gt;next; \r\n        tmp-&amp;gt;next = NULL; \r\n        newHead = quickSortRecur(newHead, tmp); \r\n        tmp = getTail(newHead); \r\n        tmp-&amp;gt;next = pivot; \r\n    } \r\n    pivot-&amp;gt;next = quickSortRecur(pivot-&amp;gt;next, newEnd); \r\n\r\n    return newHead; \r\n} \r\nvoid quickSort(struct Node **headRef) \r\n{ \r\n    (*headRef) = quickSortRecur(*headRef, getTail(*headRef)); \r\n    return; \r\n} \r\nint main() \r\n{ int t;scanf(\"%d\",&amp;amp;t);\r\nwhile(t--)\r\n{\r\n  int n;scanf(\"%d\",&amp;amp;n);\r\n  int x[n];\r\n  for(int i=0;i&amp;lt;n;i++)scanf(\"%d\",&amp;amp;x[i]);\r\n  struct Node *a = NULL; \r\n  for(int i=n-1;i&amp;gt;=0;i--)\r\n  push(&amp;amp;a,x[i]);\r\n  quickSort(&amp;amp;a);\r\n  printList(a); \r\n}\r\n    return 0; \r\n} \r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\r\n\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_1812_3\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"java\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\nimport java.util.*;\r\nimport java.io.*;\r\nclass QuickSort \r\n{ \r\n    int partition(int arr[], int low, int high) \r\n    { \r\n        int pivot = arr[high];  \r\n        int i = (low-1); \r\n        for (int j=low; j&amp;lt;high; j++) \r\n        { \r\n            if (arr[j] &amp;lt; pivot) \r\n            { \r\n                i++; \r\n                int temp = arr[i]; \r\n                arr[i] = arr[j]; \r\n                arr[j] = temp; \r\n            } \r\n        } \r\n        int temp = arr[i+1]; \r\n        arr[i+1] = arr[high]; \r\n        arr[high] = temp; \r\n\r\n        return i+1; \r\n    } \r\n    void sort(int arr[], int low, int high) \r\n    { \r\n        if (low &amp;lt; high) \r\n        { \r\n            int pi = partition(arr, low, high); \r\n            sort(arr, low, pi-1); \r\n            sort(arr, pi+1, high); \r\n        } \r\n    } \r\n\r\n    static void printArray(int arr[]) \r\n    { \r\n        int n = arr.length; \r\n        for (int i=0; i&amp;lt;n; ++i) \r\n            System.out.print(arr[i]+\" \"); \r\n        System.out.println(); \r\n    } \r\n\r\n    public static void main(String args[]) \r\n    { Scanner sc = new Scanner(System.in);\r\n        int t= sc.nextInt();\r\n        while(t-- &amp;gt;0 ){\r\n            int n = sc.nextInt();\r\n            int arr[]=new int[n];\r\n            for(int i=0;i&amp;lt;n;i++)\r\n            {\r\n                arr[i] = sc.nextInt();\r\n            }\r\n        QuickSort ob = new QuickSort(); \r\n        ob.sort(arr, 0, n-1); \r\n        printArray(arr); }\r\n    } \r\n} \r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_1812 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_1812 a\"),jQuery(\"#tab-content_1812\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t<br \/>\n[forminator_quiz id=&quot;1813&quot;]<\/p>\n<p>This article tried to discuss the concept of <strong>Quick Sort<\/strong>. Hope this blog helps you understand and solve the problem. To practice more problems on Sorting you can check out <a href=\"#\"><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Concepts Used Qucik sort. Difficulty Level Hard. Problem Statement : You are given a pointer to the head of a linked list. Now the length of the linked list is N.You are asked to form the linked list and then perform a quick sort on the list. Example: 1 5 3 2 1 4 5 [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[92],"tags":[],"class_list":["post-1811","post","type-post","status-publish","format-standard","hentry","category-sorting-interview-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Sorting Interview Programming | Quick Sort | Prepbytes<\/title>\n<meta name=\"description\" content=\"You Are Given a Pointer to the Head of a Linked List. Now the Length of the Linked List Is N. You Are Asked to Form the Linked List and Then Perform a Quick Sort on the List.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/quick-sort\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sorting Interview Programming | Quick Sort | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"You Are Given a Pointer to the Head of a Linked List. Now the Length of the Linked List Is N. You Are Asked to Form the Linked List and Then Perform a Quick Sort on the List.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/quick-sort\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-11T18:18:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-30T22:59:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"QUICK SORT\",\"datePublished\":\"2020-06-11T18:18:37+00:00\",\"dateModified\":\"2022-03-30T22:59:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/\"},\"wordCount\":172,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png\",\"articleSection\":[\"Sorting interview programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/quick-sort\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/\",\"name\":\"Sorting Interview Programming | Quick Sort | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png\",\"datePublished\":\"2020-06-11T18:18:37+00:00\",\"dateModified\":\"2022-03-30T22:59:48+00:00\",\"description\":\"You Are Given a Pointer to the Head of a Linked List. Now the Length of the Linked List Is N. You Are Asked to Form the Linked List and Then Perform a Quick Sort on the List.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/quick-sort\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/quick-sort\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sorting interview programming\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/sorting-interview-programming\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"QUICK SORT\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Sorting Interview Programming | Quick Sort | Prepbytes","description":"You Are Given a Pointer to the Head of a Linked List. Now the Length of the Linked List Is N. You Are Asked to Form the Linked List and Then Perform a Quick Sort on the List.","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:\/\/prepbytes.com\/blog\/quick-sort\/","og_locale":"en_US","og_type":"article","og_title":"Sorting Interview Programming | Quick Sort | Prepbytes","og_description":"You Are Given a Pointer to the Head of a Linked List. Now the Length of the Linked List Is N. You Are Asked to Form the Linked List and Then Perform a Quick Sort on the List.","og_url":"https:\/\/prepbytes.com\/blog\/quick-sort\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-06-11T18:18:37+00:00","article_modified_time":"2022-03-30T22:59:48+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/quick-sort\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/quick-sort\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"QUICK SORT","datePublished":"2020-06-11T18:18:37+00:00","dateModified":"2022-03-30T22:59:48+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/quick-sort\/"},"wordCount":172,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/quick-sort\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png","articleSection":["Sorting interview programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/quick-sort\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/quick-sort\/","url":"https:\/\/prepbytes.com\/blog\/quick-sort\/","name":"Sorting Interview Programming | Quick Sort | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/quick-sort\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/quick-sort\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png","datePublished":"2020-06-11T18:18:37+00:00","dateModified":"2022-03-30T22:59:48+00:00","description":"You Are Given a Pointer to the Head of a Linked List. Now the Length of the Linked List Is N. You Are Asked to Form the Linked List and Then Perform a Quick Sort on the List.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/quick-sort\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/quick-sort\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/quick-sort\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181660891-Article_463.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/quick-sort\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Sorting interview programming","item":"https:\/\/prepbytes.com\/blog\/category\/sorting-interview-programming\/"},{"@type":"ListItem","position":3,"name":"QUICK SORT"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=1811"}],"version-history":[{"count":9,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1811\/revisions"}],"predecessor-version":[{"id":8393,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1811\/revisions\/8393"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=1811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=1811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=1811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}