zoukankan      html  css  js  c++  java
  • noj快排

    1003.快速排序

    时限:1000ms 内存限制:10000K  总时限:3000ms

    描述
    给定一个数列,用快速排序算法把它排成升序。
     
    输入
    第一行是一个整数n(n不大于10000),表示要排序的数的个数;下面一行是用空格隔开的n个整数。
     
    输出
    输出排序后的数列,每个数字占一行。
     
    输入样例
    5
    3 2 1 4 5
     
    输出样例
    1
    2
    3
    4
    5
     
    #include <stdio.h>
    
    int n;
    int a[10001];
    
    void quicksort(int left,int right)
    {
        int i,j,t,temp;
        if(left>right)
            return;
        temp = a[left];
        i=left;
        j=right;
        while(i!=j)
        {
         while(a[j]>=temp&&i<j)
             j--;
         while(a[i]<=temp&&i<j)
             i++;
         if(i<j)
         {
             t=a[i];
             a[i]=a[j];
             a[j]=t;
         }
        }
        a[left]=a[i];
        a[i]=temp;
    
        quicksort(left,i-1);
        quicksort(i+1,right);
    }
    
    int main(int argc, char const *argv[])
    {
    
        int i;
        scanf("%d",&n);
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        quicksort(0,n-1);
        for(i=0;i<n;i++)
            printf("%d
    ",a[i]);
        return 0;
    }

    个人建议背会该段代码。。。。。。

  • 相关阅读:
    支付
    REST framework补充
    Django与Ajax
    Django 模型层ORM
    Django简介
    Web应用
    Docker配置pycharm连接
    Docker 网络扩展
    Docker 之Docker-Compose
    Docker 之Dockerfile
  • 原文地址:https://www.cnblogs.com/kmxojer/p/10074249.html
Copyright © 2011-2022 走看看