zoukankan      html  css  js  c++  java
  • 绝对值排序

    #include <cstdio>
    #include <cmath>
    #include <set>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
    	int n;
    	while(scanf("%d", &n) && n != 0)
    	{
    		set<int> s;
    		int a[n], b[n];
    		
    		for(int i = 0; i < n; ++ i)
    		{
    			scanf("%d", &a[i]);
    			s.insert(a[i]);
    			b[i] = abs(a[i]);
    		}
    		
    		sort(b, b + n, greater<int>());
    		
    		for(int i = 0; i < n; ++ i)
    		{
    			if(i == n - 1)
    			{
    				if(s.find(b[i]) == s.end())	cout << -b[i];
    				else	cout << b[i];
    			}
    			else
    			{
    				if(s.find(b[i]) == s.end())	cout << -b[i] << " ";
    				else	cout << b[i] << " ";
    			}
    		}
    		cout << endl;
    	}
    	
    	return 0;
    }
    

      

    #include <cstdio>
    #include <cmath>
    #include <set>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
    	int n;
    	while(scanf("%d", &n) && n != 0)
    	{
    		int a[n], temp;
    		for(int i = 0; i < n; ++ i)
    		{
    			scanf("%d", &a[i]);
    		}
    		for(int i = 0; i < n; ++ i)
    		{
    			for(int j = 0; j < n - i - 1; ++ j)
    			{
    				if(abs(a[j + 1]) > abs(a[j]))
    				{
    					temp = a[j + 1];
    					a[j + 1] = a[j];
    					a[j] = temp; 
    				}
    			}
    		}
    		for(int i = 0; i < n; ++ i)
    		{
    			if(i)	printf(" %d", a[i]);
    			else	printf("%d", a[i]);
    		}
    		printf("
    ");
    	}
    	
    	return 0;
    }
    

      

  • 相关阅读:
    一些博弈
    中国剩余定理分析及扩展
    2018年全国多校算法寒假训练营练习比赛(第三场)
    数论——逆元
    扩展欧几里得
    算法思维题
    匈牙利算法
    Codeforces #449 div2 C题
    16级C程序设计竞赛C题
    动态规划--模板--hdu 1059 Dividing
  • 原文地址:https://www.cnblogs.com/mjn1/p/11265356.html
Copyright © 2011-2022 走看看