p144 【7-12】两个时间相减,如何得到毫秒级别的时间差?
一、题目p144 【7-12】用选择排序实现一组数组排序。
【阐述】选择排序的基本思想是:每一趟在N个记录中选取关键字最小的记录作为有序序列中第一个记录。
namespace 书本例题
{
public class SelectionSorter
{
private int min;
public void Sort(int[] list)
{
int seek = 0;
int comparison = 0;
for (int i = 0; i < list.Length - 1; i++)
{
min = i;
for (int j = i + 1; j < list.Length; j++)
{
seek++;
if (list[j] < list[min])
{
comparison++;
min = j;
}
}
int t =list [min];
list [min]=list [i];
list [i]=t;
}
Console.WriteLine("\n查找了{0}次,比较了{1}次", seek, comparison);
}
}
class Program
{
static void Main(string[] args)
{
DateTime TimeStart = DateTime.Now;
int[] iArray = new int[] { 78, 89, 90, 56, 79, 345, 217, 5, 13, 88 };
Console.WriteLine("排序前的数组:");
for (int m = 0; m < iArray.Length; m++)
{
Console.Write("{0} ", iArray[m]);
}
SelectionSorter ss = new SelectionSorter();
ss.Sort(iArray);
Console.WriteLine();
Console.WriteLine("排序后的数组:");
for (int m = 0; m < iArray.Length; m++)
{
Console.Write("{0} ", iArray[m]);
}
DateTime TimeEnd = DateTime.Now;
Console.WriteLine("\n本次选择排序开始时间为:{0:yyyy:MM:dd:ss:fffffff},\n本次选择排序结束时间为:{1:yyyy:MM:dd:ss:fffffff}.",
TimeStart, TimeEnd);
Console.ReadKey();
}
}
}
二、困惑
这段程序中有两个时间:第一,程序开始运行的时间TimeStart,第二,程序运行结束的时间TimeEnd。现在,我想用这两个时间进行相减,从而得到时间差,这个时间差就是程序运行排序的时间。请问:我如何得到?
请高手大侠给予解答和帮忙,谢谢!