首页 > 代码库 > 快速排序
快速排序
快速排序也利用了分治的思想,跟归并排序排序相比减少了交换次数
int partition(int a[],int p,int r) { int x = a[r]; int i = p-1; int j; for(j = p;j<r;j++) { if(a[j]<=x) { i++; int t = a[i]; a[i] = a[j]; a[j] = t; } } int tmp = a[i+1]; a[i+1] = a[r]; a[r] = tmp; return i+1; } void quicksort(int a[],int p,int r) { if(p<r) { int q = partition(a, p, r); quicksort(a, p, q-1); quicksort(a, q+1, r); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。