• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
magicat
博客园    首页    新随笔    联系   管理    订阅  订阅
快速排序——模板 洛谷P1177 【模板】快速排序
#include<iostream>
#include<cstdio>
int a[10000001];
using namespace std;
void qsort(int i, int j)
{
    int left = i, right = j;
    int flag = a[(left+ right) / 2];
    int tmp;
    do {
        while (a[left] < flag)        left++;
        while (a[right] > flag)        right--;
        if (left <= right)
        {
            tmp = a[left];
            a[left] = a[right];
            a[right] = tmp;
            left++;
            right--;
        }
    } while (left <= right);
    if (left < j)    qsort(left, j);
    if (right > i)    qsort(i, right);
}
int main()
{
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++)        cin >> a[i];
    qsort(1, n);
    for (int i = 1; i <= n; i++)
        cout << a[i]<<" ";
    return 0;
}

 algorithm自带的sort,sort是升序,

https://www.cnblogs.com/icesunbo/p/11484046.html

https://www.cnblogs.com/buanxu/p/12772700.html

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[1000010], n;
int main()
{

    cin >> n;
    for (int i = 0; i <n; i++)
        cin >> a[i];
    sort(a , a + n);
    for (int i = 0; i <n; i++)
        cout << a[i] << " ";
    return 0;
}

降序

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[1000010], n;
bool compare(int a, int b)
{
	return a > b;
}
int main()
{

	cin >> n;
	for (int i = 0; i < n; i++)
		cin >> a[i];
	sort(a, a + n,compare);
	for (int i = 0; i < n; i++)
		cout << a[i] << " ";
	return 0;
}

  

本文来自博客园,作者:magicat,转载请注明原文链接:https://www.cnblogs.com/magicat/p/15057867.html

posted on 2021-07-25 15:09  magicat  阅读(97)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3