日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

关于快排算法的基本实现

發(fā)布時(shí)間:2023/12/15 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于快排算法的基本实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#include<bits/stdc++.h>
using namespace std;
int main()
{
?? ?int n;
? ? scanf("%d",&n);//輸入數(shù)組數(shù)?
? ? int a[n];
? ? for(int i=1;i<=n;i++){
? ? ? ? scanf("%d",&a[i]);//存入?
? ? }
? ? sort(a+1,a+n+1);//究極快排,簡(jiǎn)單明了?
? ? for(int i=1;i<=n;i++)
?? ?{
? ? ? ? printf("%d ",a[i]);//輸出?
? ? }
?? ?return 0;?
?}?
?/* 代碼實(shí)現(xiàn)sort快排(數(shù)組要定義在主函數(shù)外)?
? void sort(int len,int r)//二分思想
{
? ? int mid=a[(len+r)/2];//中間哨兵?
? ? int i=len,j=r;
? ? do{
? ? ? ? while(a[i]<mid) i++;//查找左半部分比中間數(shù)大的數(shù)
? ? ? ? while(a[j]>mid) j--;//查找右半部分比中間數(shù)小的數(shù)
? ? ? ? if(i<=j)//如果有一組不滿足排序條件(左小右大)的數(shù)
? ? ? ? {
? ? ? ? ? ? swap(a[i],a[j]);//交換(swap真好用)?
? ? ? ? ? ? i++;
? ? ? ? ? ? j--;
? ? ? ? }
? ? }while(i<=j);//這里注意要有=,不然會(huì)錯(cuò)?
? ? if(len<j) qsort(l,j);//遞歸搜索左半部分,遞歸好用是好用,就是有點(diǎn)難想?
? ? if(i<r) qsort(i,r);//遞歸搜索右半部分
}*/?

總結(jié)

以上是生活随笔為你收集整理的关于快排算法的基本实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。