同一维度不同类型的数组运用泛型冒泡排序?
class Program
{static void Main(string[] args)
{
string[] a = { "123","456","789"};
//1.委托解决方案调用
SortDel.Sort(a, (string c,string b)=> { return c.CompareTo( b); });
//2.接口解决方案调用
SortIcom<string>.Sort(a);
}
}
{
//1.委托解决方案
public delegate int comparab<T>(T a,T b);
public static void Sort<T>(T[] a, comparab<T> del)
{
for (int i = 0; i < a.Length; i++)
{
for (int j = 0; j < a.Length - 1 - i; j++)
{
if (del(a[j],a[j + 1])<0)
{
T temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine(a[i]);
}
}
}
{
//2.接口解决方案
public static void Sort(T[] a)
{
for (int i = 0; i < a.Length; i++)
{
for (int j = 0; j < a.Length - 1 - i; j++)
{
if ((a[j].CompareTo(a[j + 1]) > 0))
{
T temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (int i = 0; i < a.Length; i++)
{
Console.WriteLine(a[i]);
}
}
}