[R] what is wrong with my quicksort?

warc conny-clauss at gmx.de
Sun Sep 4 22:08:20 CEST 2011


Hey again and thanks for all the help

this is what i have for now but it still doesn't work, the main problem is
the random pivot i think
(error in while (x[j] >= pivot) { : Argument has length 0)

>partition <- function(x, links, rechts){
>	
>	i <- links
>	j <- rechts
>	t <- 0						
>	pivot <- x[sample((links:rechts),1)]
>
>	
>	while(i <= j){
>		
>		while(x[i] <= pivot){	
>                      i = i+1}
>			
>		while(x[j] >= pivot){	
>			j = j-1}
>			
>		if( i <= j){			
>
>			
>			t = x[i]
>			x[i] = x[j]
>			x[j] = t
>			
>			i=i+1
>			j=j-1
>			
>			}
>		}
>		return(pivot)	
>		}
>		
>qsort <- function(x, links, rechts){
>	
>	index <- partition(x, links, rechts)
>	
>	if((links < (index+1))&(length(x)>1)){	
>		qsort(x, links, index+1)}			
>
>		
>	if((index < rechts)&(length(x)>1)){		
>		qsort(x, index, rechts)}			
>	
>	return(x)
>	}
>	
>
>quicksort <- function(x){
>		
>		if(length(x) == 0)stop("empty Vector")	
>
>		qsort(x, 1, length(x))
>}



but whatever 
i will just keep on trying

thank you again

--
View this message in context: http://r.789695.n4.nabble.com/what-is-wrong-with-my-quicksort-tp3788681p3789902.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list