1. 程式人生 > >R語言の快速排序

R語言の快速排序

#函式:quickSort()
#功能:快速排序
#思路:對向量(5,4,12,13,3,8)排序。首先將所有元素跟第一個元素5進行比較,從而形成兩個子向量:一個由小於5的元素組成(4,3),一個由大於5元素組成(12,13,8)。然後在子向量上遞迴呼叫quickSort(),返回(3,4),(8,12,13),最後將兩個子向量和5一起組合得到向量(3,4,5,8,12,13)

quickSort<-function(x)
{
	if(length(x)<=1) return(x)
	point<-x[1]
	t<-x[-1]
	sv1<-t[t<point]
	sv2<-t[t>=point]
	sv1<-quickSort(sv1)
	sv2<-quickSort(sv2)
	return(c(sv1,point,sv2))
}