洛谷 P1177 【模板】快速排序
2022/1/20 6:47:07
本文主要是介绍洛谷 P1177 【模板】快速排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
第一遍时间超限
#include<stdio.h> int a[100010]; void Quick_Sort(int left,int right) { if(left>=right) { return; } int f=a[left]; int l=left,r=right; while(l!=r) { while(a[r]>=f&&l<r) r--; while(a[l]<=f&&l<r) l++; int t=a[l]; a[l]=a[r]; a[r]=t; } a[left]=a[l]; a[l]=f; Quick_Sort(left,l-1); Quick_Sort(l+1,right); } int main() { int N; scanf("%d",&N); for(int i=1;i<=N;i++) { scanf("%d",&a[i]); } Quick_Sort(1,N); for(int i=1;i<=N-1;i++) { printf("%d ",a[i]); } printf("%d\n",a[N]); return 0; }
第二遍过了
#include<stdio.h> int a[100010]; void Quick_Sort(int left,int right) { if(left>=right) { return; } int num=a[(left+right)/2]; int l=left,r=right; do { while(a[r]>num) r--; while(a[l]<num) l++; if(r>=l) { int t=a[r]; a[r]=a[l]; a[l]=t; r--,l++; } }while(l<=r); if(left<r) Quick_Sort(left,r); if(l<right) Quick_Sort(l,right); } int main() { int N; scanf("%d",&N); for(int i=1;i<=N;i++) { scanf("%d",&a[i]); } Quick_Sort(1,N); for(int i=1;i<=N-1;i++) { printf("%d ",a[i]); } printf("%d\n",a[N]); return 0; }
这篇关于洛谷 P1177 【模板】快速排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南