Thread: Quicksort

  1. #1
    Registered User
    Join Date
    Jan 2008
    Posts
    2

    Quicksort

    why doesnt my quicksort work? :O

    Code:
     oid QuickSort(int* aiArray, int iFirst, int iLast)
    {
    	int iMidValue;
    	int iTop = iFirst;
    	int iBottom = iLast;
    
    	iMidValue=aiArray[(iTop+iBottom)/2];
    	
    	while (iTop < iBottom)
    	{
    		for(; aiArray[iTop] < iMidValue; iTop++);
    		for(; aiArray[iBottom] > iMidValue; iBottom--);
    		if (iTop <= iBottom)
    		{
    			int iTemp=aiArray[iTop];
    			aiArray[iTop]=aiArray[iBottom];
    			aiArray[iBottom]=iTemp;
    			iTop++;
    			iBottom--;
    		}
    	}
    
    	if (iTop < iLast && iBottom > iFirst)
    	{
    		QuickSort(aiArray, iFirst, iBottom);
    		QuickSort(aiArray, iTop, iLast);
    	}
    	
    
    }

  2. #2
    Cat without Hat CornedBee's Avatar
    Join Date
    Apr 2003
    Posts
    8,895
    Moving to the C board, since this is written in C style.
    All the buzzt!
    CornedBee

    "There is not now, nor has there ever been, nor will there ever be, any programming language in which it is the least bit difficult to write bad code."
    - Flon's Law

  3. #3
    Registered User
    Join Date
    Jan 2008
    Posts
    2
    solved it!

    || instead of &&

    tnx anyway

  4. #4
    Frequently Quite Prolix dwks's Avatar
    Join Date
    Apr 2005
    Location
    Canada
    Posts
    8,057
    Why use for loops? . . .
    Code:
    		for(; aiArray[iTop] < iMidValue; iTop++);
    		for(; aiArray[iBottom] > iMidValue; iBottom--);
    This seems slightly more readable:
    Code:
    		while(aiArray[iTop] < iMidValue) iTop++;
    		while(aiArray[iBottom] > iMidValue) iBottom--;
    dwk

    Seek and ye shall find. quaere et invenies.

    "Simplicity does not precede complexity, but follows it." -- Alan Perlis
    "Testing can only prove the presence of bugs, not their absence." -- Edsger Dijkstra
    "The only real mistake is the one from which we learn nothing." -- John Powell


    Other boards: DaniWeb, TPS
    Unofficial Wiki FAQ: cpwiki.sf.net

    My website: http://dwks.theprogrammingsite.com/
    Projects: codeform, xuni, atlantis, nort, etc.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Scalability problems with Quicksort
    By hbejkosa in forum C++ Programming
    Replies: 3
    Last Post: 12-26-2008, 11:26 PM
  2. Question 39: Quicksort vs Linear Search
    By Kleid-0 in forum A Brief History of Cprogramming.com
    Replies: 2
    Last Post: 04-17-2005, 11:03 AM
  3. Using quicksort and radix sort for an anagram program
    By RazielX in forum C Programming
    Replies: 2
    Last Post: 05-03-2004, 09:33 AM
  4. quicksort problem
    By spinner in forum C Programming
    Replies: 9
    Last Post: 05-04-2003, 02:02 PM
  5. Quicksort
    By Nutshell in forum C Programming
    Replies: 1
    Last Post: 01-15-2002, 09:42 AM