演算法學習之路|快速排序
求一堆數中的中位數
輸入格式:第一行一個數字n,接下來n行每行一個數
輸出格式:輸出一箇中位數
輸入樣例:
5
2
4
1
3
5
輸出樣例:
3
快排模板題。
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int a[10001],i,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
sort(a+1,a+n+1);
printf("%d
",a[(1+n)/2]);
return 0;
}
按快排原理手寫一個快排程式碼
void quicksort(int left,int right)
{
if(left>=right) return ;
else
{
int i=left;
int j=right;
int temp=data[left];
while(i!=j)
{
while(i<j&&data[j]>=temp) j--;
while(i<j&&data[i]<=temp) i++;
if(i!=j)
{
int t=data[i];
data[i]=data[j];
data[j]=t;
}
}
data[left]=data[i];
data[i]=temp;
quicksort(left,i-1);
quicksort(i+1,right);
return ;
}
}
相關文章
- 演算法導論學習之五:快速排序演算法排序
- 看動畫學演算法之:排序-快速排序動畫演算法排序
- 排序演算法__快速排序排序演算法
- 排序演算法:快速排序排序演算法
- 排序演算法-快速排序排序演算法
- 排序演算法 - 快速排序排序演算法
- 排序演算法——快速排序排序演算法
- 演算法學習之路|划拳演算法
- 排序演算法之 '快速排序'排序演算法
- #排序演算法#【4】快速排序排序演算法
- 《排序演算法》——快速排序(Java)排序演算法Java
- 【JAVA演算法】排序演算法 -- 快速排序Java演算法排序
- 程式猿修仙之路--演算法之快速排序到底有多快演算法排序
- 【演算法】快速排序演算法排序
- 演算法學習之路|A除以B演算法
- 演算法學習之路|列印排名演算法
- 演算法學習之路|方格分割演算法
- 演算法學習之路|朋友數演算法
- 演算法學習之路|SpellItRight演算法
- 演算法學習之路|歐幾里得遊戲演算法遊戲
- 演算法學習之路|月餅演算法
- 演算法學習之路|PATRanking演算法
- 演算法學習之路|列印沙漏演算法
- 演算法學習之路|結繩演算法
- 演算法學習之路|數零壹演算法
- 演算法學習 – 歸併排序演算法排序
- 演算法學習 - 歸併排序演算法排序
- 演算法學習-遞迴排序演算法遞迴排序
- IOS中學習排序演算法iOS排序演算法
- 演算法學習之路|開學寄語演算法
- 演算法學習 - 基礎排序演算法演算法排序
- 演算法學習之選擇排序和堆排序:演算法排序
- 排序演算法-Java實現快速排序演算法排序演算法Java
- 演算法之旅:快速排序演算法排序
- 演算法之快速排序演算法排序
- 演算法學習之路|說反話演算法
- 演算法學習之路|幼兒園買玩具演算法
- 演算法學習之路|小賭怡情演算法