zoukankan      html  css  js  c++  java
  • NOJ1064--快速排序

    快速排序

    时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
    总提交 : 1125            测试通过 : 426

    比赛描述

    给定输入排序元素数目n和相应的n个元素,写出程序,利用内排序算法中快速排序算法进行排序,并输出排序最后结果的相应序列。


    输入

     

    共两行,第一行给出排序元素数目n,第二行给出n个元素,1≤n≤100000,每个元素值范围为 [0,100000)

     

    输出

     

     

    一行,输出排序结果。

     

     

    样例输入

    7
    48 36 68 72 12 48 2

    样例输出

    2 12 36 48 48 68 72

    提示

     数据结构A实验四

    题目来源

    CHENZ

     //AC:

     1 #include <stdio.h>                            
     2 int num[100100] ;
     3 int Partition(int array[], int left, int right)        //快排 ; 
     4 {
     5     int i, j ;
     6     int temp ;
     7     j = left - 1 ;
     8     for(i = left; i<=right; i++)
     9     {
    10         if(array[i] <= array[right])
    11         {
    12             j++ ;
    13             temp = array[j] ;
    14             array[j] = array[i] ;
    15             array[i] = temp ;
    16         }
    17     }
    18     return j ;    
    19 } 
    20 void QuickSort(int array[], int left, int right)
    21 {
    22     int pivot ;
    23     if(left < right)
    24     {
    25         pivot = Partition(array, left, right) ;
    26         QuickSort(array, left, pivot-1) ;
    27         QuickSort(array, pivot+1, right) ;    
    28     }    
    29 } 
    30 int main()
    31 {
    32     int n, i ;
    33     while(~scanf("%d", &n))
    34     {
    35         for(i=0; i<n; i++)
    36         scanf("%d", &num[i]) ;
    37         QuickSort(num, 0, n-1) ;
    38         printf("%d", num[0]) ;
    39         for(i=1; i<n; i++)
    40         printf(" %d", num[i]) ;
    41         printf("
    ") ;
    42     }
    43     return 0 ;
    44 }
  • 相关阅读:
    多项式模板整理
    广大附中2019CSP模拟day6
    2019正睿CSP-S模拟赛十连测day6
    NOIP2020 游记
    NOI2020 退役记
    CSP2019 退役记
    目录
    NOI Online 提高
    后缀数组
    待学
  • 原文地址:https://www.cnblogs.com/soTired/p/4667456.html
Copyright © 2011-2022 走看看