快速排序(C语言实现)

    xiaoxiao2021-04-13  33

    以前使用RM时,ruby脚本提供一个sort函数,可以把数组进行排序,后来得知采用的算法是快速排序。 随着数据结构课程的学习, 快速排序如今也不再神秘, 代码如下

    #include <iostream> using namespace std; void Quicksort(int a[],int low,int high) { if(low>=high) { return; } int first=low; int last=high; int key=a[first]; while(first!=last) { while(first<high and a[first]<key) first++; while(last>low and a[last]>key) last--; if(first<last) { int temp = a[first]; a[first] = a[last]; a[last] = temp; } } a[first]=key; Quicksort(a,low,first-1); Quicksort(a,last+1,high); } int main() { int i,a[100],x,n=0; cin>>n; for(i=0; i<n; i++) cin>>a[i]; Quicksort(a,0,n-1); for(i=0; i<=n-1; i++) cout<<a[i]<<" "; cout<<endl; return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-668362.html

    最新回复(0)