HDOJ 1040 As Easy As A+B 快排

原创 2012年03月29日 20:41:48
Problem Description
These days, I am thinking about a question, how can I get a problem as easy as A+B? It is fairly difficulty to do such a thing. Of course, I got it after many waking nights.
Give you some integers, your task is to sort these number ascending (升序).
You should know how easy the problem is now!
Good luck!
 

Input
Input contains multiple test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow. Each test case contains an integer N (1<=N<=1000 the number of integers to be sorted) and then N integers follow in the same line.
It is guarantied that all integers are in the range of 32-int.
 

Output
For each case, print the sorting result, and one line one case.
 

Sample Input
2
3 2 1 3
9 1 4 7 2 5 8 3 6 9
 

Sample Output
1 2 3
1 2 3 4 5 6 7 8 9
#include <stdio.h>

int num[1002];
int Partition(int left, int right)
{
    int x = num[left], t = 0;
    while(left<right)
    {
        while(num[right]>=x && left<right) right--;
        t = num[right];
        num[right] = num[left];
        num[left] = t;
        while(num[left]<=x && left<right) left++;
        t = num[right];
        num[right] = num[left];
        num[left] = t;
    }
    return right;
}
void q_sort(int left, int right)
{
    int min = 0;
    if(left >= right)
        return;
    else
    {
        min = Partition(left, right);
        q_sort(left, min-1);
        q_sort(min+1, right);
    }
}

int main()
{
    int i = 0, t = 0, n = 0;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(i = 0; i<n; i++)
        {
            scanf("%d",&num[i]);
        }
        q_sort(0, n-1);
        for(i = 0; i<n-1; i++)
            printf("%d ",num[i]);
        printf("%d",num[n-1]);
        printf("\n");
    }
    return 0;
}



HDU-A+B Problem 的Java题解 用Java语言做ACM的注意事项

A+B问题应该可以说是做起来最开心的ACM题目了,杭电上从1089~1096全都是A+B问题,虽然都是水题,但是在此处也贴出来算了,八道题随便贴几道,内容没什么好说的,就加加加~~~就行啦。   因...
  • qq_33171970
  • qq_33171970
  • 2015年11月28日 21:37
  • 1762

慎用create table as select,一定要注意默认值的问题---大一临时表方法

摘要: 1、再做一些数据迁移时候,很多人会使用create table  as select * from table where id=-1的方式来年建立一摸一样的表,但是这样做有个很大的弊端,不...
  • abc15159939239
  • abc15159939239
  • 2014年09月12日 16:45
  • 1670

MySQL开发技巧学习笔记一

本文内容来自MySQL开发技巧(一)MySQL开发技巧学习笔记一正确谁用SQL: 增加数据库处理效率,减少应用响应时间 减少数据库服务器负载,增加服务器稳定性 减少服务器间通讯的网络流量 如何正确使用...
  • winfredzen
  • winfredzen
  • 2016年12月19日 22:34
  • 1823

hdu1040 As Easy As A+B(C语言)

Problem Description These days, I am thinking about a question, how can I get a problem as easy a...
  • sinat_39591298
  • sinat_39591298
  • 2017年07月25日 21:55
  • 262

As Easy As A+B 1040

As Easy As A+B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...
  • qq909157370
  • qq909157370
  • 2013年05月06日 22:40
  • 1238

HDU-1040- As Easy As A+B-选择排序+冒泡排序

其实贴这道题目是为了给新手介绍一下这几个简单排序方法; 首先我们看一下选择排序,思路很简单,就是从第一个开始每次定位一个数,和数组中最大(最小)的数交换一下位置; 不过这是个不稳定排序算法; #...
  • wlxsq
  • wlxsq
  • 2015年07月14日 16:40
  • 503

杭电ACM 1040 As Easy As A+B java 解读

As Easy As A+B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...
  • wangyang1354
  • wangyang1354
  • 2015年11月02日 18:47
  • 1140

HDU1040As Easy As A+B

As Easy As A+B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...
  • xu_fish
  • xu_fish
  • 2016年01月20日 13:17
  • 247

hdu 1040 As Easy As A+B 各种排序

各种排序。
  • hncu1306602liuqiang
  • hncu1306602liuqiang
  • 2015年07月31日 23:35
  • 532

[1040]:As Easy As A+B(将输入的数排序)

As Easy As A+BTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T...
  • yang_chengfeng
  • yang_chengfeng
  • 2015年11月15日 22:00
  • 131
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HDOJ 1040 As Easy As A+B 快排
举报原因:
原因补充:

(最多只允许输入30个字)