Hi kunal, u are the best, could you pls complete entire topics on DSA
@hc-dc70432 жыл бұрын
One of the best explanations I've seen for Quick Sort. The way he broke the concept down to its nuts and bolts is really amazing.
@Tomharry910 Жыл бұрын
I remember plucking out my hair on recursion and sorting algos before stumbling on your videos. You explain it very well and its very intellectually satisfying to watch your videos as well.
@nishantsingh84773 жыл бұрын
There's this merge sort and quick sort, people say its hard to understand this and so I left them and proceeded further in my DS journey. But I was damn sure you will make it easy and so listened to you and Now I know this . Thankyou KK Bhaiya 🤩
@Sillysmiles76 Жыл бұрын
Such a blessing to learn DSA with your videos.😇 Please complete the series.🙂
@zainabfahim87143 жыл бұрын
The confidence you have in your work, is empowering!! Keep that going
@sagarmore94252 жыл бұрын
I have tried to understand merge sort and quick sort literally a thousand times. In college, classes, some time by me. I was not able to visualize how it is actually working with recursion, although I knew the code. But the way, you are simplifying the things and the way you have had the first recursion video done is just awesome. That first recursion video is quite important and on top of this you explained this sorting so well, kudos man!
@AshishKumar-ys7rj Жыл бұрын
best lecture on yt for quick sort because it is the most efficient i have seen, but first watch the quick sort algorithm by striver, he will clear all the doubts if you have got any by watching this lecture , since i had lot of doubts . Once you understand the algorithm u can follow the code here . The concept will be crystal clear then .
@vidhijain29453 жыл бұрын
The way you have explained is great Kunal!
@KunalKushwaha3 жыл бұрын
Thank You!
@rohitchilhorkar81143 жыл бұрын
I can't even express how much value it is providing us...hats off kunal bhai!
@mk_ahmar2 жыл бұрын
Hey Kunal, your lectures are valuably explained, and covers everything one should know sooner or later. For example after watching this QuickSort lecture, all I've to do is practice some question, I don't need to watch any more concept of this anywhere, and this is amazing. You and your video lectures are underrated, if this quality of lectures are provided by any EdTech they would have charged that course extravagant. Hope I'll be able to get ₹7Lakh/month 😂(Joking).
@KunalKushwaha2 жыл бұрын
you wont get 7 lakhs per month with dsa, it happens with dev
@shantahiremath73139 ай бұрын
Thank you Kunal Sir. You are always the best teacher. I never learned this sort by fearing the complexity. But now you made it a cakewalk. Always grateful.
@karthikpm96693 жыл бұрын
this is good...i mean its good that you didnt advertise your videos in a humble way , because people wont know how good your videos are. PS i didnt realise how fast time went , the way you taught was very smooth and seemed like a story to me.
@VinodKumar-fn2iq3 жыл бұрын
Kunal is very quick now 🔥 Thanks for the course ❣️
@tejasvijain10772 жыл бұрын
Before watching this vid, i was on gfg and javapoint understanding what quick sort was and my god, kunal has explined it so well and he hasnt copied what they did and I was blown by how easy he has made this!! Kudos bro,
@shikhamaurya44533 жыл бұрын
Ohh damn, This was so well explained 45 minutes is totally worthy
@KunalKushwaha3 жыл бұрын
Thank You!
@twi44583 жыл бұрын
Can anyone help me in understanding 24:50, How we got O(N^2). It is Linear Recurrence Relation, Right?
@ritviksaran61992 жыл бұрын
after each pass how does it ensure that pivot will end up in the correct position ?
@sravansunkara Жыл бұрын
I feel very confident whenever I learn from you, Thank You for existing, God bless you!!!
@SochtaHoonMain Жыл бұрын
Kunal Kushwaha : "Your start is low , Your End is going to be high" :)
@rakeshkumarmaurya82653 жыл бұрын
Best DSA COURSE on EARTH 🔥🔥 THANKU @kunal kushwaha
@Mohit_Gupta248 ай бұрын
As always brilliant explanation. I used to be scared of quick sort in my college days, but this video makes it seem really easy. Moreover, I was able to relate Step: placing pivot at the correct index with Binary Search step. In binary search, we search for a target element, assuming the array is sorted, and use the start and end indexes as pointers to the virtual array. Here we have to just place the pivot at the correct index, so instead of searching the target, we already have the target(i.e. pivot), we have to put at correct index and in this process we are ensuring elements less than pivot are on LHS, and elements greater than pivot are RHS.
@santoshkumarpandey837213 күн бұрын
Amazing, if You dont understand first time, please re-re listen. it is amazing
@Helly_Patel2 жыл бұрын
Thanks for teaching us like no one did till now!! One small request, please make lectures on dynamic programming as well!!
@VishalKumar-pk9ek3 жыл бұрын
In the merge sort video , I was little confused in the concepts of sorting algorithm through recursion but by this video , the previous confusion also got cleared . Thank you so much 😍😍😍
@KunalKushwaha3 жыл бұрын
You're very welcome!
@vikassk13083 жыл бұрын
@@KunalKushwaha little confused, when you say pivot would be in the correct position after swaps if I have below array and I choose 4 as pivot {8,6,1,4,2,12} after swaps, ill end up having {2,4,1,6,8,12} where 4 is at index 1 but it should be at index 2 right ?
@jyotiprakashnayak11233 жыл бұрын
best course till date in any platform
@shivamrana463310 ай бұрын
You are boosting my confidence day by day..🎉😊
@nishu07665 ай бұрын
i request you to please upload all the remaining topics of this complete DSA bootcamp as soon as possible
@Cloud-5772 жыл бұрын
thank you I actually like this implementation better than other ones I have seen. this will stick with me, no doubt
@devanshgaur17473 жыл бұрын
Bhaiya ,aap sachii mein bohot achaa padhatee hoo. Thanks bhaiya for such a course
@charaiveticharaiveti84143 жыл бұрын
Kunal, your tutorials are gems. I can pay for such quality content. But you choose not to. Love and Regards. Tweeting for better reach.
@vinaykrishna747 Жыл бұрын
Please Use Black Background for writing on the screen It doesn't affect eyes much 😊😊 Consider this Man
@piyush92663 жыл бұрын
U knw bro..i think u r inborn Guru not a professional teacher.may god bless u with all Happiness of this universe.🙏
@anshulgoel1940 Жыл бұрын
An alternative approach is to swap the pivot with the last index before we start in each recursive call and then start comparing left and right. Once index cross over, we swap pivot with left pointer. Works out much cleaner at code level.
@pratheeeeeesh4839 Жыл бұрын
The approach which you told above does that calculate the pivot using the same mid concept?
@anshulgoel1940 Жыл бұрын
@@pratheeeeeesh4839 No. Pivot can be picked in any way. It won't make any difference at complexity level. This approach I suggested just keeps the code clean. Hope it helps
@requisits Жыл бұрын
Thank you kunal finally understood the concept deeply.
@anjalithakur_122 жыл бұрын
Very good explanation just loved it
@KshitizAnand-xr1wj3 ай бұрын
I really loved this sorting algorithm
@Content_creater_entertainment4 ай бұрын
Best vedio❤
@sravanakirtana27879 ай бұрын
Awesome. You make everything very easy. (In your words easy peasy 😅)
@civuasdev55323 жыл бұрын
Hey kunal, Thanks for this course.
@harshaggarwal18213 жыл бұрын
@36:05 you mentioned swapping doesn't happen if array already sorted. But taking {1,2,3,4,5} it does call swap with same indices.
@chennayaianjc33063 жыл бұрын
I think he said , swap will not happen if it is already sorted .how? in while(s
@gitansh1947 ай бұрын
00:05 Quicksort is a crucial sorting algorithm frequently asked in interviews. 02:11 Quick sort uses pivot to divide elements into smaller and larger groups. 06:22 Quick Sort uses recursion to position the pivot element correctly after each pass. 08:20 Quick sort uses recursion to sort arrays efficiently 12:24 Understanding how to identify violations while sorting using Quick Sort. 14:35 Moving the pivot to the correct position using recursion 18:43 Picking the pivot element in quick sort 20:34 Understanding time complexity and recurrence relation in Quick Sort. 24:23 Quick sort's time complexity is O(n^2), covered in detail 26:22 Recurrence relation of merge sort explained with time complexity formulas. 29:36 Hybrid sorting algorithms combine merge sort and insertion sort for efficiency. 31:26 Exploring new approaches to solve problems is recommended. 34:59 Moving elements according to pivot and violating conditions 36:36 Explanation of the swapping process and recursion call in Quick Sort using recursion. 40:23 Quick sort is a hybrid sorting algorithm 41:58 Quick Sort using recursion is a common sorting algorithm.
@suyashkumar88403 жыл бұрын
Love you kunal bhai ♥️♥️
@924_aradhyapatro53 жыл бұрын
This is by far the simplest explaination of Quick Sort that i have found
@baap63823 жыл бұрын
Wow, you are so good. Wish you to solve complex algorithms down the lane
@amruthaa58763 жыл бұрын
Thank you so much, Kunal!
@geetankarkarmakar3782 жыл бұрын
Mad stuff ❤🔥❤🔥 Thanks a ton !!
@KartiKKaushiKYt2 жыл бұрын
My profssor seriously needs to learn from this dude, I was stressing about this so much, this titorial is elite. THANK YOU SO MUCH
@poojakatare14979 ай бұрын
A very informative and interesting lecture 😎
@ritviksaran61992 жыл бұрын
Kunal bro this is a doubt. After a pass of the outer while loop, how can we confirm that pivot will end in correct index? For the array {1, 4, 2, 5, 7, 6, 3} after one pass changes to {1, 4, 2, 3, 7, 6, 5}. 5 was the chosen pivot but it does not end in correct position. The whole algorithm is correct at the end it will give the sorted array, but for this version I think we cannot confirm that after each pass pivot will end up in correct index.
@harcharansingh19972 жыл бұрын
Yeah bro having same doubt
@ritviksaran61992 жыл бұрын
@@harcharansingh1997 This method ensures that in each pass the pivot ends up in the correct index public class Main { public static void main(String[] args) { int [] arr = {1, 4, 2, 5, 7, 6, 3}; quickSort(arr, 0, arr.length - 1); for(int i : arr){ System.out.println(i); } }public static void quickSort(int [] arr, int low, int high){ if(low >= high) return; int s = low; int e = high - 1; int pivot = arr[high]; while(s pivot){ e--; } if(s
@MohamedElsayed-pb3oj2 жыл бұрын
The reason you are having doubt is because the algorithm is incorrect. Tried it manually and tried it with the debugger and it still gave the first pass answer. Meaning the algorithm doesn't put the pivot in its intended location.
@takenbysac2 жыл бұрын
@@MohamedElsayed-pb3oj exactly Elsayed , this algo is wrong, I tried with negative numbers as input and it failed . Tried with {2,5,3,0,8,22,9,-1,-3,-5} as input . @Kunal
@takenbysac2 жыл бұрын
@@ritviksaran6199 even this got failed @ritvik for input as {2, 5, 3, -3, -1, -22, 0, 8, 22, 9}
@akashpradhan7908 Жыл бұрын
I have tried some udemy courses, watched some KZbin tutorials on DSA ... But damn.. Kunal is a teacher of another league.
@talish77143 жыл бұрын
good job kunal and never gave up bro keep it up
@ashishgaikwad4403 жыл бұрын
god level explain ❤️
@NavanshK2 жыл бұрын
@kunal Please continue this course...
@Dekh_rha_hai_vinod.3 жыл бұрын
Bro amazing hetric👌👌
@randheerkumargautam64332 жыл бұрын
will you make video on dynamic programming as well?
@abhirajchatterjee69655 ай бұрын
This partitioning algorithm seems to be incorrect, say we take the same example provided in the video wherein the last element is always selected as the pivot - 10, 80, 30, 90, 40, 50, 70 | p = 70, s is at 10, e is at 70 now, s moves till 80 where it finds a violation (element at s should be less than 70, here it is > 70), e stays at 70 since it is also a violation(element at e should be greater than 70, here it is = 70 ), swapping happens -> array after first swap -> 10, 70, 30, 90, 40, 50, 80 -> s moves to 30, e moves to 50 notice that the new part of the array which is going to be partitioned now is 30,90,40,50 and the rest is assumed to have been placed correctly w.r.t the pivot that is 70, which is wrong as 70 is clearly not at the position where it is supposed to be.
@siddharthgowd82524 күн бұрын
you were wrong, dont partition array after single swap, go unil i
@absingh7737 ай бұрын
13:14 pivot at correct position❌every element at correct position✅
@vikaspanwar51943 жыл бұрын
thanks for uploading at this frequency. Hope that you will cover dp really soon. 👏🙌
@ImranicShow2 ай бұрын
Kunal, you are a great teacher. I didn't comment in all other videos because those were flawless to understand. This one was fantastic till you started implementing the algorithm. You explanation of the core algo, complexity analysis etc were awesome. However, you said, after every pass all smaller element should be left side of the pivot and all larger element should be in the right side of pivot. But in your implementation this is not the case. I mean after you swap, it just swap two elements, doesn't gurantee the position of pivot we want after the first pass. But I was wondering how your implementation still works. I traced this implementation in pen and paper and found why it's still working. It's a bit unorthodox implementation of quick sort. This doesn't work without any modification, if I change the pivot from mid to first or last. Anyway, I found solution in internet where they make the partition based on the pivot. Those solutions works whatever(first, last or mid) I made pivot. Overall, to me it seems this implementation may confuses the new commers. Anyway, your explanation of the algo is out of question, clarify a lot of confusions. Being a software engineer for more than half a decade, I recently decided to brush up my DSA and you are helping me a lot. Keep up the great work.
@smilemania51023 жыл бұрын
Awesooooooooooooome ❤️❤️
@akashnagar4862 Жыл бұрын
Before starting this course, i was like ''Java is very tough language'', but after dig into this course till now, I am like ''Java is Fun'', Thankyou man for providing such great course. And I would like to request you that please make a course of Collection framework also. And you will be boom on KZbin....trust me the way you transfer your thoughts is really amazing. Cheers to the hard work 🥂
@kirankumar97292 жыл бұрын
Fabulous explanation..
@charon719 ай бұрын
best videos here!
@NilavraPathak3 жыл бұрын
I think quick select is also a closely related technique that can be used to solve many problems.
@mrrishiraj883 жыл бұрын
Great thanks for very useful content in quite comprehensive form.
@prikshit_sharma40713 жыл бұрын
I Never learnt java. Should I start this course or not?🙏🏻🙏🏻
@KunalKushwaha3 жыл бұрын
Yes
@yourmentor82423 жыл бұрын
Hey kunal please bring some leetcode sorting questions problem videos,and yes Thank you so much for this Awesome content bro ❣️
@akshaykumar-wd8jc3 жыл бұрын
Great video kunal
@karanbadhwar41138 ай бұрын
The problem is I did not understand the Time and space Complexity After recurrence relation, as I am do not understand the Maths that you did, it took me more than a week to any how complete the video, but now my question is how can I do that, as I did not understand them Maths you taught, any other way to solve it ?
@jk-sm6qr Жыл бұрын
Thank you Kunal
@MuhammadAnas-t1zАй бұрын
For those who were asking that the algorithm will work fine but after first pass the pivot element is not at the correct place. Here is the update version of the code public static void quickSort(int arr[],int low,int high){ if(low >= high){ return; } int s = low; int e = high; int mid = s + (e-s)/2; int pivot = arr[mid]; while(s pivot){ --e; } if(s
@vanshsharma24862 жыл бұрын
great video bro, thank you so much!!
@kishorevb83315 ай бұрын
With the code you provided, it will not place the pivot at the right spot after one pass, but still it works!!! It doesn't place the pivot in the right index due you incrementing and decrementing the start and end after each swap. We must increment and decrement only when provided that the value in that index is lower than or higher than the pivot
@abhisheknigam697512 күн бұрын
Thanks for this series Kunal, just have one question that how would we do this with return the result, as at the 2 last lines of the code we are again calling the function so to write return statement there
@ayushmaheshwari809 Жыл бұрын
Hey Kunal , why pivot element not place correct index after one recursion call ? Although the array is sorted in the end .
@firdoshansari27573 жыл бұрын
Hey Kunal, what is the possibile time you take to complete dsa and start with Opps??
@sourabhkothari70142 жыл бұрын
Best explanation
@anukritisingh44792 жыл бұрын
pls upload dp series soon
@imTiwari20052 ай бұрын
bhaiya what about dp and greedy
@prashantmishra92202 жыл бұрын
@kunalKushwaha Bhaiya aapne to book follow krke pdhai ki hogi....to hmlog sirf is playlist ko follow krenge kya sach me utna hi knowledge gain kr paenge...kya is playlist me jitna pdhaya gya hai utna hi pdhne se sach me acchi job crack kr paenge? pls reply
@twi44583 жыл бұрын
Can anyone help me in understanding 24:50, How we got O(N^2). It is Linear Recurrence Relation, Right?
@Rahul-nw5rp3 жыл бұрын
Yes man . For this you have to use substitute method . I checked common algorithms book and there was written that to use akra bazee method bi must be in range of 0 to 1 exclusive
@Sumit-lr1qj3 жыл бұрын
Nope
@vcrohithutagonna21052 жыл бұрын
Check out the Time and complexity video, You'll get a whole great idea
@arpitanaik49405 ай бұрын
@@vcrohithutagonna2105 Still not able to get it. Can you plz share how to got the ans.
@parmarkamlesh6493 Жыл бұрын
Hi Kunal, are you planning to launch any playlist?
@ViGyaTam Жыл бұрын
Thanks Kunal
@frosted_soul_2 жыл бұрын
ku ku ku kunal...kunal....kunal.....kunal.....
@dinbandhusharma4568 Жыл бұрын
thanks for this amazing knowledge I really like your video 🤗🙏🏻
@joshiomkar13943 жыл бұрын
Hey bro, I followed your implementation of quicksort, and the array is sorting fine, but there is a problem. Suppose there is an array [2, 4, 5, 3]. Here pivot will be the middle element at index 1 which is 4. Now, all the elements less than 4 should be on the left of 4 and greater at the right, but using your implementation. The resulting array becomes [2, 3, 5, 4]. 4 will get swapped with 3 because 4 and 3 breaks the violation. Then, start will increment and end will decrement and both point to 5. start will break the violation while end doesn't and keeps moving back until 3. Here further swapping will not take place because start > end. To note that the array becomes sorted in the next step because recursion calls quickSort on [2, 3] and [5, 4] but why didn't the 4 get placed in the right position. Is this a behaviour of quicksort or am I missing something? Please respond because this is really confusing me
@rishavraj68613 жыл бұрын
it works well for 2,4,5,3. it gives 2,3,4,5
@joshiomkar13943 жыл бұрын
@@rishavraj6861 yeah, I noticed that but it works like that only when we are using the high = n instead of n - 1.
@rishavraj68613 жыл бұрын
@@joshiomkar1394 how will u take high = n. n is the size of array so, for last index high = n-1. in this video high is also equals to n-1.
@nikhilsood61263 жыл бұрын
you are right brother......after first pass .....acc. to his theory the left of pivot must be less than pivot but it is not after first pass.......in implementation.......so it was also confusing me.......in actual acc. to his implementation only right will follow the theory not left
@ritviksaran61992 жыл бұрын
True, Actually you said that on the second loop, [2, 3] and [5, 4] will be passed, that is not true, [2, 3, 5] and [4] will be passed. This technique works but it does not ensure that pivot will end up in the correct index. I think he was wrong in that point.
@shyamalm883 жыл бұрын
Kunal Facing too much problem with sliding window technique. with strings and other things, it will be very helpful if you can create a video on this with solving some problems, not only the maximum sum problems but other problems also some tips or tricks will be fine. Love your work. your content really helpful.
@bishalbhattacharjee8503 жыл бұрын
Great teaching please make a video on heap sort as well...
@KunalKushwaha3 жыл бұрын
Sure I will
@programmer6953 Жыл бұрын
At 23:07 i dont get why we put pivot at middle while showing t(n) calculation ,at t=0 the left will be empty but right will be n-1 element does it mean we picked first element as pivot ?if not why we showing pivot in t(n) calculation why not just t k +t n-k + alfa n supposedly pivot is at the end of the array for better presentation pls enlighten me on this..
@PiyushMishra-tq6cl11 ай бұрын
Hey Kunal, How did you do the DSA at your time? Like did you rely on tutorial videos or some book?
@rudram45342 жыл бұрын
still watching consistently 😀😀 😀😀
@mohammedsaad07616 ай бұрын
The video explains the quicksort algorithm in detail, covering its theory, complexity, and coding implementation, while comparing it with other sorting algorithms like merge sort and discussing internal sorting functions in Java and Python. Detailed Summary for [Quick Sort Using Recursion (Theory + Complexity + Code)](kzbin.info/www/bejne/kGnWp4KnltKUnZo) by [Monica](monica.im) [00:04](kzbin.info/www/bejne/kGnWp4KnltKUnZo&t=4) Understanding the importance of Quicksort in sorting algorithms - Introduction to Quicksort and its significance in interviews} - Covering the complexity, time, space, code, advantages, and disadvantages of Quicksort} - Exploring internal sorting algorithms and hybrid sorting techniques} [05:15](kzbin.info/www/bejne/kGnWp4KnltKUnZo&t=315.199) Explanation of quick sort using recursion - Explanation of partitioning elements based on a pivot} - Role of recursion in sorting process} - Unique aspect of pivot placement in quick sort} - Recursion's role in sorting the left and right partitions} - Selection of a new pivot element for further partitioning} [10:33](kzbin.info/www/bejne/kGnWp4KnltKUnZo&t=633.44) Explanation of how to perform quick sort using recursion - Explanation of selecting the pivot element} - Identifying violations in the elements compared to the pivot} - Fixing violations by swapping elements} - Comparison and handling of elements in relation to the pivot} [15:49](kzbin.info/www/bejne/kGnWp4KnltKUnZo&t=949.04) Explanation of the quick sort algorithm using recursion - Explanation of choosing the pivot and dividing the array} - Demonstration of the pivot at the correct position} - Discussion on picking the pivot element} - Introduction to complexity analysis} - Partitioning the elements based on the chosen pivot} [21:07](kzbin.info/www/bejne/kGnWp4KnltKUnZo&t=1267.12) Understanding the time complexity of Quick Sort using recursion - Explaining the time taken to put the pivot at the correct position} - Discussing the recurrence relation of Quick Sort} - Analyzing the worst-case scenario in Quick Sort} - Illustrating the impact of choosing the smallest or largest pivot element} - Highlighting the consequences of the worst-case scenario in Quick Sort} [26:22](kzbin.info/www/bejne/kGnWp4KnltKUnZo&t=1582.48) Explanation of time complexity and space complexity in Quick Sort - Detailed explanation of time complexity using Akra-Bazzi formula} - Importance of understanding space and time complexity in algorithms} - Best case and worst case complexity of Quick Sort} - Stability of algorithms and the concept of stable sorting} - Previous video covering sorting algorithms and stability in detail} [31:40](kzbin.info/www/bejne/kGnWp4KnltKUnZo&t=1900.48) Introduction to Quick Sort Using Recursion - Starting the coding part for quick sort} - Explaining the concept of low and high indices} - Using pointers to manipulate the object in the array} [36:57](kzbin.info/www/bejne/kGnWp4KnltKUnZo&t=2217.68) Explanation of quick sort using recursion and its implementation - Explanation of the recursion process in quick sort} - Dividing the array into two halves for sorting} - Initialization of low and high variables for sorting} - Discussion on different approaches to quick sort} - Recommendation to try other sorting methods before asking for help}
@MainakBhowmick-vw3sh5 ай бұрын
13:05 oops i think i made a mistake ,, and that look
@mihirjadhav56423 жыл бұрын
why did you delete your old videos?? where do we find them now?
@abhijitmanna45242 жыл бұрын
My java code is not compiling at 38:21 any solution ?
@RaviPatel-rj1re2 жыл бұрын
this quick sort algorithm not given correct ans for (5,4,1,2,8,7,6,3) can you explain it why?
@amine_fadssi Жыл бұрын
use variable int pivot = arr[mid] not just compare with arr[mid] directly
@LifeWithGunjann Жыл бұрын
Can you please continue this course and complete it soon
@itsom52943 жыл бұрын
Hey kunal bring some leetcode maximum subarray type questions problem videos
@KunalKushwaha3 жыл бұрын
I will
@sangamsaini1383 жыл бұрын
bhaiya if conditon lagana ka koi jarurat nahi tha uska binna bhi ho jata becouse loop me bhi same conddition hai or isliya if condition likhna ki koi jarurat nahi thi
@Videolyy Жыл бұрын
loved it..
@nihal.n63296 күн бұрын
pivot won't fall in the correct index after the first pass
@AdarshKumar-xh1ie4 ай бұрын
Hi kunal. I tried this array int[] arr1 = {1,9,2,3,5,6,7,8,10} on the above code. In the end the array was sorted. But, after the first pass the 5 was on the 1st index before 2 and 3 after taking 5 as the pivot. So is there any other way around for this? Or its working fine?