当前位置: 首页 > news >正文

题解:洛谷 P1177 【模板】排序

【题目来源】

洛谷:P1177 【模板】排序 - 洛谷 (luogu.com.cn)

【题目描述】

将读入的 \(N\) 个数从小到大排序后输出。

【输入】

第一行为一个正整数 \(N\)

第二行包含 \(N\) 个空格隔开的正整数 \(a_i\),为你需要进行排序的数。

【输出】

将给定的 \(N\) 个数从小到大输出,数之间空格隔开,行末换行且无空格。

【输入样例】

5
4 2 4 5 1

【输出样例】

1 2 4 4 5

【算法标签】

《洛谷 P1177 排序》 #排序#

【代码详解】

#include <bits/stdc++.h>  // 包含标准库中的所有头文件
using namespace std;      // 使用标准命名空间const int N = 100020;    // 定义常量N,表示数组的最大长度
int a[N];                // 定义一个全局数组a,用于存储待排序的数据// 快速排序函数
void quick_sort(int a[], int l, int r) {if (l >= r) return;  // 如果左边界大于等于右边界,说明区间已经有序,直接返回int i = l - 1, j = r + 1;  // 初始化两个指针i和j,分别指向区间外的位置int x = a[l + (r - l) / 2];  // 选取区间中间位置的元素作为基准值(pivot)// 分区操作while (i < j) {do i++; while (a[i] < x);  // 从左向右找到第一个大于等于基准值的元素do j--; while (a[j] > x);  // 从右向左找到第一个小于等于基准值的元素if (i < j) swap(a[i], a[j]);  // 如果i<j,交换这两个元素}// 递归排序左半部分和右半部分quick_sort(a, l, j);      // 排序左半部分 [l, j]quick_sort(a, j + 1, r);  // 排序右半部分 [j+1, r]
}int main() {int n;cin >> n;  // 输入数组的长度nfor (int i = 0; i < n; i++) cin >> a[i];  // 输入数组的n个元素quick_sort(a, 0, n - 1);  // 调用快速排序函数对数组进行排序for (int i = 0; i < n; i++) cout << a[i] << " ";  // 输出排序后的数组return 0;  // 程序正常结束
}

【运行结果】

5
4 2 4 5 1
1 2 4 4 5
http://www.jsqmd.com/news/389082/

相关文章:

  • 零基础玩转Banana Vision Studio:从安装到生成拆解图
  • gemma-3-12b-it入门必看:Ollama模型tag管理、版本回滚与增量更新
  • PowerPaint-V1 Gradio在建筑设计中的应用:草图智能完善
  • REX-UniNLU在软件测试中的应用:自动化测试用例生成
  • OFA视觉问答模型镜像:新手友好的多模态AI体验
  • WAN2.2文生视频+SDXL_Prompt风格保姆级教程:Mac M2/M3芯片本地部署实录
  • 星图平台新手入门:快速部署Qwen3-VL:30B多模态大模型
  • 零基础玩转Jimeng LoRA:轻量级文生图实战教程
  • Unity游戏开发中集成Local AI MusicGen的实践
  • 【毕业设计】SpringBoot+Vue+MySQL 商业辅助决策系统平台源码+数据库+论文+部署文档
  • 5分钟玩转浦语灵笔2.5-7B:图表分析案例分享
  • SiameseUIE与人工智能数学建模结合:文本数据分析新思路
  • SpringBoot+Vue 校园外卖服务系统管理平台源码【适合毕设/课设/学习】Java+MySQL
  • GTE-Pro效果展示:政务咨询‘新生儿落户’命中政策原文+办理网点+所需材料清单
  • Horse发生,新年快乐,平安喜乐
  • 免费体验SenseVoice:超快多语言语音识别服务搭建指南
  • Xinference-v1.17.1功能展示:支持LangChain等流行库
  • 【图像去噪】基于块状低秩纹理表征的卡通纹理图像分解的Matlab实现
  • 突破网盘下载加速全攻略:让文件传输快如闪电
  • Qwen3-TTS-12Hz-1.7B-VoiceDesign保姆级教程:CUDA版本兼容性排查与修复
  • LangChain与Qwen2.5-VL-7B-Instruct联用:智能体开发新范式
  • ChatGLM3-6B-128K在金融领域的应用:财报分析与预测
  • 一键部署Qwen3-ASR:打造企业级语音识别系统
  • VibeVoice Pro入门必看:轻量化0.5B架构如何实现300ms TTFB
  • 阿里小云KWS模型在Ubuntu下的开发环境配置指南
  • 通义千问3-VL-Reranker-8B保姆级教程:模型分片加载与延迟加载机制解析
  • 雯雯的后宫-造相Z-Image-瑜伽女孩:文生图模型快速入门
  • ollama+ChatGLM3-6B-128K:超长文本处理最佳解决方案
  • Qwen3-VL-Reranker-8B嵌入式部署指南:基于STM32F103的工业质检终端开发
  • OFA图像英文描述模型在Node.js环境的高效调用