各位南来北往高手,
我写了一个排序的控制台程序,如下:
class Program
{
abstract class Paixu
{
abstract public void taxis(int m);
}
class DerivePaixu : Paixu
{
public override void taxis(int m)
{
int i;
int[] A=new int[m];
Console.WriteLine("请依次输入你要排序的数(数的结束用回车表示):\n");
for(i=0;i<m;i++)
A[i]=int.Parse(Console.ReadLine());
for (i = 0; i< m; i++ )
{
for (int j = i + 1; j< m; j++)
{
int temp;
if (A[i] > A[j])
{
temp = A[j];
A[j] = A[i];
A[i] = temp;
}
}
Console.WriteLine("排序的结果是:");
for (i = 0; i < m; i++)
{
Console.Write(" " + A[i]);
}
} }
}
static void Main(string[] args)
{
Console.WriteLine("请输入你要排序整数的个数n:");
int n = int.Parse(Console.ReadLine());
DerivePaixu Tax = new DerivePaixu();
Tax.taxis(n);
}
运行结果:
请输入你要排序整数的个数n:
5
请依次输入你要排序的数(数的结束用回车表示):
5
4
3
2
1
排序的结果是:
1 5 4 3 2
怎么回事?小白谢谢了!
我写了一个排序的控制台程序,如下:
class Program
{
abstract class Paixu
{
abstract public void taxis(int m);
}
class DerivePaixu : Paixu
{
public override void taxis(int m)
{
int i;
int[] A=new int[m];
Console.WriteLine("请依次输入你要排序的数(数的结束用回车表示):\n");
for(i=0;i<m;i++)
A[i]=int.Parse(Console.ReadLine());
for (i = 0; i< m; i++ )
{
for (int j = i + 1; j< m; j++)
{
int temp;
if (A[i] > A[j])
{
temp = A[j];
A[j] = A[i];
A[i] = temp;
}
}
Console.WriteLine("排序的结果是:");
for (i = 0; i < m; i++)
{
Console.Write(" " + A[i]);
}
} }
}
static void Main(string[] args)
{
Console.WriteLine("请输入你要排序整数的个数n:");
int n = int.Parse(Console.ReadLine());
DerivePaixu Tax = new DerivePaixu();
Tax.taxis(n);
}
运行结果:
请输入你要排序整数的个数n:
5
请依次输入你要排序的数(数的结束用回车表示):
5
4
3
2
1
排序的结果是:
1 5 4 3 2
怎么回事?小白谢谢了!
for (i = 0; i < m; i++ )
{
for (int j = i + 1; j < m; j++)
{
int temp;
if (A[i] > A[j])
{
temp = A[j];
A[j] = A[i];
A[i] = temp;
}
}
}
Console.WriteLine("排序的结果是:");
for (i = 0; i < m; i++)
{
Console.Write(" " + A[i]);
}
for (i = 0; i < m; i++ )
{
for (int j = i + 1; j < m; j++)
{
int temp;
if (A[i] > A[j])
{
temp = A[j];
A[j] = A[i];
A[i] = temp;
}
}
Console.WriteLine("排序的结果是:");
for (int k = 0; k < m; k++)
{
Console.Write(" " + A[k]);
}
}
{
abstract public void taxis(int m);
}
class DerivePaixu : Paixu
{
public override void taxis(int m)
{
int i;
int[] A = new int[m];
Console.WriteLine("请依次输入你要排序的数(数的结束用回车表示):\n");
for (i = 0; i < m; i++)
A[i] = int.Parse(Console.ReadLine());
for (i = 0; i < m; i++)
{
for (int j = i + 1; j < m; j++)
{
int temp;
if (A[i] > A[j])
{
temp = A[j];
A[j] = A[i];
A[i] = temp;
}
}
}
Console.WriteLine("排序的结果是:");
for (i = 0; i < m; i++)
{
Console.Write(" " + A[i]);
}
}
}
static void Main(string[] args)
{
Console.WriteLine("请输入你要排序整数的个数n:");
int n = int.Parse(Console.ReadLine());
DerivePaixu Tax = new DerivePaixu();
Tax.taxis(n);
Console.Read(); }
class OrderBy
{
public static int[] Min(params int[] Numbers)
{
int LenNumbers = Numbers.Length;
if (LenNumbers > 1)
{
for (int i = 0; i < LenNumbers; i++)
{
for (int j = i + 1;j < LenNumbers; j++)
{
if (Numbers[i] > Numbers[j])
{
int swapNumber = Numbers[i];
Numbers[i] = Numbers[j];
Numbers[j] = swapNumber;
}
}
}
return Numbers;
}
return Numbers;
} public static int[] Max(params int[] Numbers)
{
int LenNumbers = Numbers.Length;
if (LenNumbers > 1)
{
for (int i = 0; i < LenNumbers; i++)
{
for (int j = i + 1; j < LenNumbers; j++)
{
if (Numbers[i] < Numbers[j])
{
int swapNumber = Numbers[i];
Numbers[i] = Numbers[j];
Numbers[j] = swapNumber;
}
}
}
return Numbers;
}
return Numbers;
}
}int[] intNumbers = OrderBy.Min(3, 5, 6, 4, 7, 1);
int[] intNumbers2 = OrderBy.Max(3,5,6,4,7,1);
至于冒泡排序 我喜欢这么用for(int i=0;i<Array.length;i++)
{
for(int j=0;j<Array.length-i-1;j++)
{
if(Array[j]>Array[j+1])
{
temp = Array[j];
Array[j] = Array[j+1];
Array[j+1] = temp;
}
}
}嘿嘿 我是小菜鸟 说的不好请见凉 希望能够帮到你