首页 > 代码库 > 排序算法<三>快速排序
排序算法<三>快速排序
#include<iostream> #include<cstdio> using namespace std; void swap(int arr[], int i, int j){ int t=arr[i]; arr[i]=arr[j]; arr[j]=t; } int partition(int arr[], int low, int end){ int i=low; int j=end+1; int x=arr[low]; while (1){ while (i<end&&arr[++i]<x); while (arr[--j]>x); if (i>=j) break; swap(arr, i, j); } swap(arr, low, j); return j; } void quicksort(int arr[],int low,int high){ if (low<high){ int p=partition(arr, low, high); quicksort(arr, low, p-1); quicksort(arr,p+1, high); } } int main(){ int arr[6] = {23,1,21, 21,4,19}; quicksort(arr,0,5); for(int i=0;i<6;i++){ printf("%d ",arr[i]); } printf("\n"); }
排序算法<三>快速排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。