学习目标:
快速算法原理,每一趟将第一个元素放在合适的位置,然后,左边的的小,右边的大,将第一个元素作为基准放在中间。将表格一分为二,然后对子表做递归做相同的事情,直到划分的子表为1或者是0。
学习内容:
提示:这里可以添加要学的内容
例如:
1、 搭建 Java 开发环境
2、 掌握 Java 基本语法
3、 掌握条件语句
4、 掌握循环语句
代码:
/*
*****************快速插入排序
*/
static int parttion(int r[] ,int start,int end){
int low=start,heigh=end;
int temp = r[low];
while(low<heigh){
/*r[j]直到是小于中间的基准,就换到前面去*/
while(low<heigh&&r[heigh]>=temp){
heigh--;
}r[low]=r[heigh];
/*直到大于中间的基数,就换到后面去*/
while(low<heigh&&r[low]<=temp){
low++;
}r[heigh]=r[low];
}r[low]=temp;
return low;
}
/*递归调用划分函数*/
static void Quickorder(int r[],int start,int end){
int position;//基准
if(start<end){
position = parttion(r, start, end);
Quickorder(r, start, position-1);//左边派徐
Quickorder(r, position+1, end); /*右边排序*/
}
}
}