题目描述
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
如:n=3时,3个整数13,312,343,连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。
输入描述:
有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N<=100),第二行包含N个数(每个数不超过1000,空格分开)。
输出描述:
每组数据输出一个表示最大的整数。
using System;
using System.Collections.Generic;
namespace TestCode
{
public class Program
{
private static void InsertSort(string[] str)
{
for (int i = 1; i < str.Length; i++)
{
for (int j = 0; j < i; j++)
{
String a = str[j];
String b = str[i];
if (string.Compare(a + b, b + a) < 0)
{
String temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
}
private static void SelectSort(String[] str)
{
for (int i = 0; i < str.Length; i++)
{
for (int j = i; j < str.Length; j++)
{
String a = str[i];
String b = str[j];
if (string.Compare(a + b, b + a) < 0)
{
String temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
}
private static void BubbleSort(String[] str)
{
for (int j = 1; j < str.Length; j++)
{
for (int i = 0; i < str.Length - j; i++)
{
String a = str[i];
String b = str[i + 1];
if (String.Compare(a + b, b + a) < 0)
{
String temp = str[i];
str[i] = str[i + 1];
str[i + 1] = temp;
}
}
}
}
public static void Main()
{
String nn = Console.ReadLine();
int n = Convert.ToInt32(nn);
String s = Console.ReadLine();
String[] str = s.Split();
InsertSort(str);
foreach (string x in str)
{
Console.Write(x);
}
}
}
}