描述
给定 n 个字符串,请对 n 个字符串按照字典序排列。
数据范围: 1≤n≤1000 ,字符串长度满足 1≤len≤100
输入描述:
输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。
输出描述:
数据输出n行,输出结果为按照字典序排列的字符串。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
//int count = Convert.ToInt32(Console.ReadLine());
//string[] strArray = new string[1000];
//for (int i = 0; i < count; i++)
//{
// strArray[i] = Console.ReadLine();
//}
//for (int i = 0; i < count - 1; i++)
//{
// for (int j = i + 1; j < count; j++)
// {
// if (String.CompareOrdinal(strArray[i], strArray[j]) > 0)
// {
// string temp = null;
// temp = strArray[j];
// strArray[j] = strArray[i];
// strArray[i] = temp;
// }
// }
//}
//for (int i = 0; i < count; i++)
//{
// Console.WriteLine(strArray[i]);
//}
int count = Convert.ToInt32(Console.ReadLine());
List<string> strList = new List<string>();
for (int i = 0; i < count; i++)
{
strList.Add(Console.ReadLine());
}
List<string> newStrList = new List<string>();
for (int i = 0; i < strList.Count - 1; i++)
{
for (int j = i+1; j < strList.Count; j++)
{
if (String.CompareOrdinal(strList[i], strList[j]) > 0)
{
string temp = null;
temp = strList[j];
strList[j] = strList[i];
strList[i] = temp;
}
}
}
foreach (var item in strList)
{
Console.WriteLine(item);
}
Console.ReadLine();
}
}
}
发现输入字符串有大小写的时候,使用String.Compare()方法排序不成功,使用String.CompareOrdinal()可以排序成功。