**
六大排序的原理及代码总结
**
这里要提到的排序有冒泡排序、快速排序、插入排序、选择排序、希尔排序、堆排序、归并排序中的前四种排序方法。
首先,提供一组数据集。
mydata<-sample(1:20,15)
#随机产生15个范围1到20的数据作为的集合。
一、冒泡排序
冒泡排序:顾名思义,在一列无序的数列中,相邻两个数之间进行比较,数值小的数就往上冒,数值大的数往下换,依次类推,直到比较到最后一个数为止。
代码示例:
#bubble sort
bubblesort <- function(num){
n <- length(num)
for(i in 1:(n-1)) {
for(j in (i+1):n) {
if(num[i] > num[j]) {
temp <- num[i]
num[i] <- num[j]
num[j] <- temp
}
}
}
return(num)
}
执行冒泡排序后
二、快速排序
快速排序:在无序序列中找一个基准元素,将序列分成两份,比基准元素大的和比基准元素小的序列,通过与基准元素相比较的方式递归地进行排序。
代码如下