演算法學習之路|快速排序
求一堆數中的中位數
輸入格式:第一行一個數字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 ;
}
}
相關文章
- 看動畫學演算法之:排序-快速排序動畫演算法排序
- 排序演算法__快速排序排序演算法
- 排序演算法:快速排序排序演算法
- 排序演算法 - 快速排序排序演算法
- 排序演算法之 '快速排序'排序演算法
- 【JAVA演算法】排序演算法 -- 快速排序Java演算法排序
- 程式猿修仙之路--演算法之快速排序到底有多快演算法排序
- 快速排序演算法排序演算法
- 【演算法】快速排序演算法排序
- 演算法學習 – 歸併排序演算法排序
- 演算法學習 - 歸併排序演算法排序
- 排序演算法-Java實現快速排序演算法排序演算法Java
- Sorting 排序演算法: Quick Sort 快速排序排序演算法UI
- 演算法之旅:快速排序演算法排序
- 演算法之快速排序演算法排序
- 演算法學習 - 基礎排序演算法演算法排序
- 演算法學習之選擇排序和堆排序:演算法排序
- 畫江湖之演算法篇【排序演算法】快速排序演算法排序
- 畫江湖之演算法篇 [排序演算法] 快速排序演算法排序
- 演算法之常見排序演算法-氣泡排序、歸併排序、快速排序演算法排序
- 前端演算法:快速排序演算法前端演算法排序
- 排序演算法 - 快速插入排序和希爾排序排序演算法
- 排序演算法之快速排序的實現排序演算法
- 【一起學習排序演算法】3 選擇排序排序演算法
- 【一起學習排序演算法】2 氣泡排序排序演算法
- 【一起學習排序演算法】4 插入排序排序演算法
- 好程式設計師Python學習路線分享實現快速排序演算法程式設計師Python排序演算法
- 演算法 | 快速排序詳解演算法排序
- 前端學習 資料結構與演算法 快速入門 系列 —— 排序和搜尋演算法前端資料結構演算法排序
- golang sort.Sort () 排序演算法學習Golang排序演算法
- 排序演算法之「快速排序(Quick Sort) _c++ 」排序演算法UIC++
- 強化學習之路一 QLearning 演算法強化學習演算法
- Python進階-演算法-快速排序Python演算法排序
- 演算法圖解之快速排序演算法圖解排序
- 演算法之快速排序(php版)演算法排序PHP
- 快速排序演算法(Quick_Sort)排序演算法UI
- 從演算法開始[快速排序]演算法排序
- 【一起學習排序演算法】0 序言排序演算法
- python實現氣泡排序、插入排序以及快速排序演算法Python排序演算法